Download OpenAPI specification:Download
API specification for Ankorstore internal use
This API follows the Ankorstore API Specification which is based on the JSON:API specification.
Please give our specification a thorough read to understand how our request and response formats work.
The internal vs public (external) separation is to facilitate documentation of more legacy endpoints that do not yet meet our modern API specification, and to provide additional supporting documentation for our Public API users.
In most cases you should add and document your endpoints in the Public external API.
This documentation is generated by combining both specifications.
You can find the generated public documentation here.
Returns list of existing application for current authenticated user
| Accept | string application/vnd.api+json |
{- "data": {
- "id": "43efbfbd-bfbd-1eef-1e6a-6200efbfbdef",
- "type": "application",
- "attributes": {
- "name": "My sandbox",
- "developerEmail": "dev@my-app.com",
- "clientId": "k322k7frs87e8w7hri3jkke7ry7",
- "clientSecret": "v8s98g9s895h8929834"
}
}, - "included": [
- {
- "type": "string",
- "id": "497f6eca-6276-4993-bfeb-53cbbbba6f08",
- "attributes": {
- "events": [
- "string"
], - "signingSecret": "string"
}
}
], - "jsonapi": {
- "version": "string",
- "meta": { }
}
}Creates a new application. Endpoint returns client secret in the response payload, it can be seen only once.
| Accept | string Default: application/vnd.api+json application/vnd.api+json |
| name required | string Name of application being created (should be unique among other applications belonging to the user) |
| developerEmail required | string Developer email to contact in case of issues with created application |
{- "jsonapi": {
- "version": "1.0"
}, - "data": {
- "type": "application",
- "id": "43efbfbd-bfbd-1eef-1e6a-6200efbfbdef",
- "attributes": {
- "name": "My sandbox",
- "developerEmail": "dev@my-app.com",
- "clientId": "k322k7frs87e8w7hri3jkke7ry7",
- "clientSecret": "v8s98g9s895h8929834"
}, - "relationships": {
- "webhookSubscriptions": {
- "data": [
- {
- "id": "efbfbdef-bfbd-1eef-bfbd-efbfbdefbfbd",
- "type": "webhook-subscription"
}
]
}
}
}, - "included": [
- {
- "id": "efbfbdef-bfbd-1eef-bfbd-efbfbdefbfbd",
- "type": "webhook-subscription",
- "attributes": {
- "signingSecret": "some-secret",
- "events": [
- "orders.brand_created",
- "orders.brand_accepted",
- "orders.brand_rejected",
- "orders.shipped"
]
}
}
]
}Updates given properties in application
| applicationId required | string Application ID |
| Accept | string Default: application/vnd.api+json application/vnd.api+json |
| name | string |
| developerEmail | string |
{- "name": "string",
- "developerEmail": "string"
}{- "jsonapi": {
- "version": "1.0"
}, - "data": {
- "type": "application",
- "id": "43efbfbd-bfbd-1eef-1e6a-6200efbfbdef",
- "attributes": {
- "name": "My sandbox",
- "developerEmail": "dev@my-app.com",
- "clientId": "k322k7frs87e8w7hri3jkke7ry7",
- "clientSecret": "v8s98g9s895h8929834"
}, - "relationships": {
- "webhookSubscriptions": {
- "data": [
- {
- "id": "efbfbdef-bfbd-1eef-bfbd-efbfbdefbfbd",
- "type": "webhook-subscription"
}
]
}
}
}, - "included": [
- {
- "id": "efbfbdef-bfbd-1eef-bfbd-efbfbdefbfbd",
- "type": "webhook-subscription",
- "attributes": {
- "signingSecret": "some-secret",
- "events": [
- "orders.brand_created",
- "orders.brand_accepted",
- "orders.brand_rejected",
- "orders.shipped"
]
}
}
]
}Delete application with given ID
| applicationId required | string Application ID |
| Accept | string Default: application/vnd.api+json application/vnd.api+json |
{- "jsonapi": {
- "version": "1.0"
}, - "errors": [
- {
- "detail": "Unauthorized",
- "status": "401"
}
]
}Generate a new secret for application
| applicationId required | string Application ID |
| Accept | string Default: application/vnd.api+json application/vnd.api+json |
{- "jsonapi": {
- "version": "1.0"
}, - "data": {
- "type": "application",
- "id": "43efbfbd-bfbd-1eef-1e6a-6200efbfbdef",
- "attributes": {
- "name": "My sandbox",
- "developerEmail": "dev@my-app.com",
- "clientId": "k322k7frs87e8w7hri3jkke7ry7",
- "clientSecret": "v8s98g9s895h8929834"
}, - "relationships": {
- "webhookSubscriptions": {
- "data": [
- {
- "id": "efbfbdef-bfbd-1eef-bfbd-efbfbdefbfbd",
- "type": "webhook-subscription"
}
]
}
}
}, - "included": [
- {
- "id": "efbfbdef-bfbd-1eef-bfbd-efbfbdefbfbd",
- "type": "webhook-subscription",
- "attributes": {
- "signingSecret": "some-secret",
- "events": [
- "orders.brand_created",
- "orders.brand_accepted",
- "orders.brand_rejected",
- "orders.shipped"
]
}
}
]
}Returns a list of metrics for the time range from the first day of the current month up to the current day with a comparison to the same period of the previous month, aggregated by day
| periodType | string Default: "currentMonth" Enum: "currentMonth" "previousMonth" "previousThreeMonths" One of the predefined period types |
| Accept | string application/vnd.api+json |
{- "jsonapi": {
- "version": "string",
- "meta": { }
}, - "data": null
}Get Brand details
| brandId required | string <uuid> |
| fields[brands] | string Brand's attributes separated by comma |
| include | string A comma-separated list of resources to include (e.g: onboarding) |
| Accept | string Default: application/vnd.api+json application/vnd.api+json |
{- "jsonapi": {
- "version": "string",
- "meta": { }
}, - "data": [
- {
- "id": "497f6eca-6276-4993-bfeb-53cbbbba6f08",
- "type": "string",
- "attributes": {
- "name": "string",
- "status": "string"
}, - "relationships": {
- "onboarding": {
- "data": {
- "id": "497f6eca-6276-4993-bfeb-53cbbbba6f08",
- "type": "string"
}
}
}
}
], - "included": [
- {
- "id": "497f6eca-6276-4993-bfeb-53cbbbba6f08",
- "type": "string",
- "attributes": { }
}
]
}Updates Brand details
| brandId required | string <uuid> |
| Accept | string Default: application/vnd.api+json application/vnd.api+json |
| status | string Enum: "online" "offline" "coming_soon" |
{- "status": "online"
}{- "jsonapi": {
- "version": "string",
- "meta": { }
}, - "data": [
- {
- "id": "497f6eca-6276-4993-bfeb-53cbbbba6f08",
- "type": "string",
- "attributes": {
- "name": "string",
- "status": "string"
}, - "relationships": {
- "onboarding": {
- "data": {
- "id": "497f6eca-6276-4993-bfeb-53cbbbba6f08",
- "type": "string"
}
}
}
}
], - "included": [
- {
- "id": "497f6eca-6276-4993-bfeb-53cbbbba6f08",
- "type": "string",
- "attributes": { }
}
]
}Gets Brand's company details
| companyId required | string <uuid> Company ID (same as Brand ID) |
| Accept | string Default: application/vnd.api+json application/vnd.api+json |
{- "data": {
- "type": "string",
- "id": "497f6eca-6276-4993-bfeb-53cbbbba6f08",
- "attributes": {
- "founded_in_year": 0,
- "company_name": "string",
- "company_invoice_description": "string",
- "tax_number": "string",
- "vat_exemption": true,
- "vat_number": null,
- "sole_trader_number": "string",
- "above_intracomm_threshold": true
}
}, - "jsonapi": {
- "version": "string",
- "meta": { }
}
}Updates Brand's company details
| companyId required | string <uuid> Company ID (same as Brand ID) |
| Accept | string Default: application/vnd.api+json application/vnd.api+json |
| founded_in_year required | integer |
| company_name required | string |
| company_invoice_description required | string |
| vat_exemption required | boolean |
| vat_number | string |
| tax_number | string |
| is_sole_trader | boolean |
| sole_trader_number | string |
| above_intracomm_threshold | boolean or null |
{- "founded_in_year": 1984,
- "company_name": "My company",
- "company_invoice_description": "Paris",
- "tax_number": "123456824",
- "vat_exemption": true
}{- "data": {
- "type": "string",
- "id": "497f6eca-6276-4993-bfeb-53cbbbba6f08",
- "attributes": {
- "founded_in_year": 0,
- "company_name": "string",
- "company_invoice_description": "string",
- "tax_number": "string",
- "vat_exemption": true,
- "vat_number": null,
- "sole_trader_number": "string",
- "above_intracomm_threshold": true
}
}, - "jsonapi": {
- "version": "string",
- "meta": { }
}
}Gets Brand's shipping settings
| shippingSettingsId required | string <uuid> Shipping settings ID (same as Brand ID) |
| Accept | string Default: application/vnd.api+json application/vnd.api+json |
{- "data": {
- "type": "string",
- "id": "497f6eca-6276-4993-bfeb-53cbbbba6f08",
- "attributes": {
- "publicAddress": {
- "street": "string",
- "postalCode": "string",
- "city": "string",
- "countryCode": "string"
}, - "shippingAddress": {
- "street": "string",
- "postalCode": "string",
- "city": "string",
- "countryCode": "string"
}, - "billingAddress": {
- "street": "string",
- "postalCode": "string",
- "city": "string",
- "countryCode": "string"
}, - "eoriNumber": "string",
- "lucidNumber": "string",
- "averageLeadTime": "string",
- "whitelistCountries": [
- "string"
]
}
}, - "jsonapi": {
- "version": "string",
- "meta": { }
}
}Updates Brand's shipping settings
| shippingSettingsId required | string <uuid> Shipping settings ID (same as Brand ID) |
| Accept | string Default: application/vnd.api+json application/vnd.api+json |
required | object | ||||||||
| |||||||||
required | object | ||||||||
| |||||||||
required | object | ||||||||
| |||||||||
| eoriNumber required | string | ||||||||
| lucidNumber required | string | ||||||||
| averageLeadTime required | string | ||||||||
| whitelistCountries | Array of strings or null List of country iso codes | ||||||||
{- "publicAddress": {
- "street": "string",
- "postalCode": "string",
- "city": "string",
- "countryCode": "string"
}, - "shippingAddress": {
- "street": "string",
- "postalCode": "string",
- "city": "string",
- "countryCode": "string"
}, - "billingAddress": {
- "street": "string",
- "postalCode": "string",
- "city": "string",
- "countryCode": "string"
}, - "eoriNumber": "string",
- "lucidNumber": "string",
- "averageLeadTime": "string",
- "whitelistCountries": null
}{- "data": {
- "type": "string",
- "id": "497f6eca-6276-4993-bfeb-53cbbbba6f08",
- "attributes": {
- "publicAddress": {
- "street": "string",
- "postalCode": "string",
- "city": "string",
- "countryCode": "string"
}, - "shippingAddress": {
- "street": "string",
- "postalCode": "string",
- "city": "string",
- "countryCode": "string"
}, - "billingAddress": {
- "street": "string",
- "postalCode": "string",
- "city": "string",
- "countryCode": "string"
}, - "eoriNumber": "string",
- "lucidNumber": "string",
- "averageLeadTime": "string",
- "whitelistCountries": [
- "string"
]
}
}, - "jsonapi": {
- "version": "string",
- "meta": { }
}
}Multiple operations on different resources by a single request
required | Array of objects [ 1 .. 50 ] items | ||||||||||||||||||||||||||||||||||||
Array ([ 1 .. 50 ] items)
| |||||||||||||||||||||||||||||||||||||
{- "jsonapi": {
- "version": "1.0"
}, - "errors": [
- {
- "detail": "Unauthorized",
- "status": "401"
}
]
}Fetch business event brand discounts from brand ids
| filter[id] | string array of json encoded products ids |
{- "jsonapi": {
- "version": "1.0"
}, - "data": [
- {
- "type": "business-event-brand-discounts",
- "id": "31951",
- "attributes": {
- "discount": 10
}, - "links": {
}
}
]
}Returns Email and first name of candidate brand's user
| candidateBrandId required | string <uuid> Candidate Brand ID |
| Accept | string Default: application/vnd.api+json application/vnd.api+json |
{- "jsonapi": {
- "version": "1.0"
}, - "data": {
- "type": "candidate-brands",
- "id": "1ed0283e-68a2-6108-917d-0242ac120007",
- "attributes": {
- "email": "julien.stanek@ankorstore.com",
- "firstName": "Tomas"
}
}
}Get counters about cart items
| itemCounterId required | string <uuid> Item Counter ID (same as Retailer ID) |
| Accept | string Default: application/vnd.api+json application/vnd.api+json |
{- "data": {
- "type": "string",
- "id": "497f6eca-6276-4993-bfeb-53cbbbba6f08",
- "attributes": {
- "main": 0,
- "savedForLater": 0
}
}, - "jsonapi": {
- "version": "string",
- "meta": { }
}
}Get cart summary
| cartSummaryId required | string <uuid> Cart Summary ID |
| Accept | string Default: application/vnd.api+json application/vnd.api+json |
{- "data": {
- "type": "string",
- "id": "497f6eca-6276-4993-bfeb-53cbbbba6f08",
- "attributes": {
- "summary": {
- "feesAndTaxesTotal": {
- "currency": "string",
- "amount": 0
}, - "discountsTotal": {
- "currency": "string",
- "amount": 0
}, - "grandTotal": {
- "currency": "string",
- "amount": 0
}
}, - "fees": [
- {
- "type": "shipping_fee",
- "amount": null,
- "amountVat": null,
- "metadata": {
- "isShippingFree": true,
- "freeShippingMinimumAmount": null,
- "freeShippingRemainingAmount": null,
- "regularShippingFeesAmount": null
}
}
], - "taxes": [
- {
- "type": "fees_vat",
- "amount": null
}
], - "discounts": [
- {
- "type": "promocode",
- "amount": null,
- "metadata": {
- "label": "string"
}
}
]
}
}, - "included": [
- {
- "type": "string",
- "id": "497f6eca-6276-4993-bfeb-53cbbbba6f08",
- "attributes": {
- "type": "saved_for_later",
- "name": "string",
- "totalAmount": {
- "currency": "string",
- "amount": 0
}, - "selectionTotalAmount": {
- "currency": "string",
- "amount": 0
}, - "totalItemCount": 0
}, - "relationships": {
- "items": {
- "data": [
- {
- "id": "497f6eca-6276-4993-bfeb-53cbbbba6f08",
- "type": "string",
- "meta": { }
}
]
}, - "itemAggregates": {
- "data": [
- {
- "id": "497f6eca-6276-4993-bfeb-53cbbbba6f08",
- "type": "string",
- "meta": { }
}
]
}
}
}
], - "jsonapi": {
- "version": "string",
- "meta": { }
}, - "meta": {
- "isFirstPurchase": true
}
}Get all carts and items data
| Accept | string Default: application/vnd.api+json application/vnd.api+json |
{- "data": [
- {
- "type": "string",
- "id": "497f6eca-6276-4993-bfeb-53cbbbba6f08",
- "attributes": { },
- "relationships": {
- "list": {
- "data": {
- "id": "497f6eca-6276-4993-bfeb-53cbbbba6f08",
- "type": "string",
- "meta": { }
}
}
}
}
], - "jsonapi": {
- "version": "string",
- "meta": { }
}, - "included": [
- {
- "type": "string",
- "id": "497f6eca-6276-4993-bfeb-53cbbbba6f08",
- "attributes": {
- "type": "saved_for_later",
- "name": "string",
- "totalAmount": {
- "currency": "string",
- "amount": 0
}, - "selectionTotalAmount": {
- "currency": "string",
- "amount": 0
}, - "totalItemCount": 0
}, - "relationships": {
- "items": {
- "data": [
- {
- "id": "497f6eca-6276-4993-bfeb-53cbbbba6f08",
- "type": "string",
- "meta": { }
}
]
}, - "itemAggregates": {
- "data": [
- {
- "id": "497f6eca-6276-4993-bfeb-53cbbbba6f08",
- "type": "string",
- "meta": { }
}
]
}
}
}
]
}Get one cart and items data
| id required | string <uuid> Cart ID |
| Accept | string Default: application/vnd.api+json application/vnd.api+json |
{- "data": {
- "type": "string",
- "id": "497f6eca-6276-4993-bfeb-53cbbbba6f08",
- "attributes": { },
- "relationships": {
- "list": {
- "data": {
- "id": "497f6eca-6276-4993-bfeb-53cbbbba6f08",
- "type": "string",
- "meta": { }
}
}
}
}, - "jsonapi": {
- "version": "string",
- "meta": { }
}, - "included": [
- {
- "type": "string",
- "id": "497f6eca-6276-4993-bfeb-53cbbbba6f08",
- "attributes": {
- "type": "saved_for_later",
- "name": "string",
- "totalAmount": {
- "currency": "string",
- "amount": 0
}, - "selectionTotalAmount": {
- "currency": "string",
- "amount": 0
}, - "totalItemCount": 0
}, - "relationships": {
- "items": {
- "data": [
- {
- "id": "497f6eca-6276-4993-bfeb-53cbbbba6f08",
- "type": "string",
- "meta": { }
}
]
}, - "itemAggregates": {
- "data": [
- {
- "id": "497f6eca-6276-4993-bfeb-53cbbbba6f08",
- "type": "string",
- "meta": { }
}
]
}
}
}
]
}Change the content of a cart's items (adds, remove or change their quantity)
| id required | string <uuid> Cart ID |
| Accept | string Default: application/vnd.api+json application/vnd.api+json |
required | object | ||||||||
| |||||||||
{- "data": {
- "items": {
- "id": "497f6eca-6276-4993-bfeb-53cbbbba6f08",
- "quantity": 0
}
}
}{- "data": {
- "type": "string",
- "id": "497f6eca-6276-4993-bfeb-53cbbbba6f08",
- "attributes": { },
- "relationships": {
- "list": {
- "data": {
- "id": "497f6eca-6276-4993-bfeb-53cbbbba6f08",
- "type": "string",
- "meta": { }
}
}
}
}, - "jsonapi": {
- "version": "string",
- "meta": { }
}, - "included": [
- {
- "type": "string",
- "id": "497f6eca-6276-4993-bfeb-53cbbbba6f08",
- "attributes": {
- "type": "saved_for_later",
- "name": "string",
- "totalAmount": {
- "currency": "string",
- "amount": 0
}, - "selectionTotalAmount": {
- "currency": "string",
- "amount": 0
}, - "totalItemCount": 0
}, - "relationships": {
- "items": {
- "data": [
- {
- "id": "497f6eca-6276-4993-bfeb-53cbbbba6f08",
- "type": "string",
- "meta": { }
}
]
}, - "itemAggregates": {
- "data": [
- {
- "id": "497f6eca-6276-4993-bfeb-53cbbbba6f08",
- "type": "string",
- "meta": { }
}
]
}
}
}
]
}Get all Retailer's purchasing lists
| Accept | string Default: application/vnd.api+json application/vnd.api+json |
{- "data": [
- {
- "type": "string",
- "id": "497f6eca-6276-4993-bfeb-53cbbbba6f08",
- "attributes": {
- "type": "saved_for_later",
- "name": "string",
- "totalAmount": {
- "currency": "string",
- "amount": 0
}, - "selectionTotalAmount": {
- "currency": "string",
- "amount": 0
}, - "totalItemCount": 0
}, - "relationships": {
- "items": {
- "data": [
- {
- "id": "497f6eca-6276-4993-bfeb-53cbbbba6f08",
- "type": "string",
- "meta": { }
}
]
}, - "itemAggregates": {
- "data": [
- {
- "id": "497f6eca-6276-4993-bfeb-53cbbbba6f08",
- "type": "string",
- "meta": { }
}
]
}
}
}
], - "jsonapi": {
- "version": "string",
- "meta": { }
}, - "included": [
- {
- "type": "string",
- "id": "497f6eca-6276-4993-bfeb-53cbbbba6f08",
- "attributes": {
- "purchasableItemID": "793da286-f67e-45d3-b805-7d47bab0a9ec",
- "quantity": 0,
- "multipliedQuantity": 0,
- "amountBeforeDiscount": {
- "currency": "string",
- "amount": 0
}, - "amountAfterDiscount": {
- "currency": "string",
- "amount": 0
}
}, - "relationships": {
- "purchasableItem": {
- "data": {
- "id": "497f6eca-6276-4993-bfeb-53cbbbba6f08",
- "type": "string",
- "meta": { }
}
}
}
}
]
}Get Retailer's purchasing list
| purchasingListId required | string <uuid> Purchasing List ID |
| Accept | string Default: application/vnd.api+json application/vnd.api+json |
{- "data": {
- "type": "string",
- "id": "497f6eca-6276-4993-bfeb-53cbbbba6f08",
- "attributes": {
- "type": "saved_for_later",
- "name": "string",
- "totalAmount": {
- "currency": "string",
- "amount": 0
}, - "selectionTotalAmount": {
- "currency": "string",
- "amount": 0
}, - "totalItemCount": 0
}, - "relationships": {
- "items": {
- "data": [
- {
- "id": "497f6eca-6276-4993-bfeb-53cbbbba6f08",
- "type": "string",
- "meta": { }
}
]
}, - "itemAggregates": {
- "data": [
- {
- "id": "497f6eca-6276-4993-bfeb-53cbbbba6f08",
- "type": "string",
- "meta": { }
}
]
}
}
}, - "jsonapi": {
- "version": "string",
- "meta": { }
}, - "included": [
- {
- "type": "string",
- "id": "497f6eca-6276-4993-bfeb-53cbbbba6f08",
- "attributes": {
- "purchasableItemID": "793da286-f67e-45d3-b805-7d47bab0a9ec",
- "quantity": 0,
- "multipliedQuantity": 0,
- "amountBeforeDiscount": {
- "currency": "string",
- "amount": 0
}, - "amountAfterDiscount": {
- "currency": "string",
- "amount": 0
}
}, - "relationships": {
- "purchasableItem": {
- "data": {
- "id": "497f6eca-6276-4993-bfeb-53cbbbba6f08",
- "type": "string",
- "meta": { }
}
}
}
}
]
}Update a Retailer's purchasing list content
| purchasingListId required | string <uuid> Purchasing List ID |
| Accept | string Default: application/vnd.api+json application/vnd.api+json |
{- "data": {
- "type": "string",
- "id": "497f6eca-6276-4993-bfeb-53cbbbba6f08",
- "attributes": {
- "type": "saved_for_later",
- "name": "string",
- "totalAmount": {
- "currency": "string",
- "amount": 0
}, - "selectionTotalAmount": {
- "currency": "string",
- "amount": 0
}, - "totalItemCount": 0
}, - "relationships": {
- "items": {
- "data": [
- {
- "id": "497f6eca-6276-4993-bfeb-53cbbbba6f08",
- "type": "string",
- "meta": { }
}
]
}, - "itemAggregates": {
- "data": [
- {
- "id": "497f6eca-6276-4993-bfeb-53cbbbba6f08",
- "type": "string",
- "meta": { }
}
]
}
}
}, - "jsonapi": {
- "version": "string",
- "meta": { }
}, - "included": [
- {
- "type": "string",
- "id": "497f6eca-6276-4993-bfeb-53cbbbba6f08",
- "attributes": {
- "purchasableItemID": "793da286-f67e-45d3-b805-7d47bab0a9ec",
- "quantity": 0,
- "multipliedQuantity": 0,
- "amountBeforeDiscount": {
- "currency": "string",
- "amount": 0
}, - "amountAfterDiscount": {
- "currency": "string",
- "amount": 0
}
}, - "relationships": {
- "purchasableItem": {
- "data": {
- "id": "497f6eca-6276-4993-bfeb-53cbbbba6f08",
- "type": "string",
- "meta": { }
}
}
}
}
]
}Update a Retailer's purchasing list selection
| purchasingListId required | string <uuid> Purchasing List ID |
| Accept | string Default: application/vnd.api+json application/vnd.api+json |
{- "data": {
- "type": "string",
- "id": "497f6eca-6276-4993-bfeb-53cbbbba6f08",
- "attributes": {
- "type": "saved_for_later",
- "name": "string",
- "totalAmount": {
- "currency": "string",
- "amount": 0
}, - "selectionTotalAmount": {
- "currency": "string",
- "amount": 0
}, - "totalItemCount": 0
}, - "relationships": {
- "items": {
- "data": [
- {
- "id": "497f6eca-6276-4993-bfeb-53cbbbba6f08",
- "type": "string",
- "meta": { }
}
]
}, - "itemAggregates": {
- "data": [
- {
- "id": "497f6eca-6276-4993-bfeb-53cbbbba6f08",
- "type": "string",
- "meta": { }
}
]
}
}
}, - "jsonapi": {
- "version": "string",
- "meta": { }
}, - "included": [
- {
- "type": "string",
- "id": "497f6eca-6276-4993-bfeb-53cbbbba6f08",
- "attributes": {
- "purchasableItemID": "793da286-f67e-45d3-b805-7d47bab0a9ec",
- "quantity": 0,
- "multipliedQuantity": 0,
- "amountBeforeDiscount": {
- "currency": "string",
- "amount": 0
}, - "amountAfterDiscount": {
- "currency": "string",
- "amount": 0
}
}, - "relationships": {
- "purchasableItem": {
- "data": {
- "id": "497f6eca-6276-4993-bfeb-53cbbbba6f08",
- "type": "string",
- "meta": { }
}
}
}
}
]
}Move items between two Retailer's purchasing lists
| Accept | string Default: application/vnd.api+json application/vnd.api+json |
{- "data": [
- {
- "type": "string",
- "id": "497f6eca-6276-4993-bfeb-53cbbbba6f08",
- "attributes": { },
- "relationships": {
- "sourceList": {
- "data": [
- {
- "id": "497f6eca-6276-4993-bfeb-53cbbbba6f08",
- "type": "string",
- "meta": { }
}
]
}, - "destinationList": {
- "data": [
- {
- "id": "497f6eca-6276-4993-bfeb-53cbbbba6f08",
- "type": "string",
- "meta": { }
}
]
}
}
}
], - "jsonapi": {
- "version": "string",
- "meta": { }
}, - "included": [
- {
- "type": "string",
- "id": "497f6eca-6276-4993-bfeb-53cbbbba6f08",
- "attributes": {
- "type": "saved_for_later",
- "name": "string",
- "totalAmount": {
- "currency": "string",
- "amount": 0
}, - "selectionTotalAmount": {
- "currency": "string",
- "amount": 0
}, - "totalItemCount": 0
}, - "relationships": {
- "items": {
- "data": [
- {
- "id": "497f6eca-6276-4993-bfeb-53cbbbba6f08",
- "type": "string",
- "meta": { }
}
]
}, - "itemAggregates": {
- "data": [
- {
- "id": "497f6eca-6276-4993-bfeb-53cbbbba6f08",
- "type": "string",
- "meta": { }
}
]
}
}
}
]
}Read all catalog exports sorted by descending creation date
{- "jsonapi": {
- "version": "1.0"
}, - "data": {
- "attributes": {
- "status": "in_progress",
- "google_spreadsheet_node": "https://docs.google.com/spreadsheets/d/7fce7e5f-6542-4d35-9010-0506b30f7616"
}
}
}Read all catalog exports sorted by descending creation date
{- "jsonapi": {
- "version": "1.0"
}, - "data": {
- "attributes": {
- "status": "in_progress",
- "google_spreadsheet_node": "https://docs.google.com/spreadsheets/d/7fce7e5f-6542-4d35-9010-0506b30f7616"
}
}
}Create new catalog export related to authenticated brand
| type required | string Type of Catalog Export to create |
{- "type": "string"
}{- "jsonapi": {
- "version": "1.0"
}, - "errors": [
- {
- "detail": "Unauthorized",
- "status": "401"
}
]
}Get Catalog Export
| catalogExportUuid required | string <uuid> Catalog Export UUID |
| Accept | string Default: application/vnd.api+json application/vnd.api+json |
{- "jsonapi": {
- "version": "1.0"
}, - "data": {
- "attributes": {
- "status": "in_progress",
- "google_spreadsheet_node": "https://docs.google.com/spreadsheets/d/7fce7e5f-6542-4d35-9010-0506b30f7616"
}
}
}Create a new product spreadsheet mapping
| Accept | string Default: application/vnd.api+json application/vnd.api+json |
object | |||||||||||||||||||||||
| |||||||||||||||||||||||
{- "data": {
- "type": "string",
- "attributes": {
- "name": "string",
- "configuration": [
- {
- "identifier": "string",
- "field": "string",
- "missingValue": "string",
- "emptyValue": "string",
- "behavior": "string"
}
]
}
}
}{- "jsonapi": {
- "version": "string"
}, - "data": {
- "type": "string",
- "id": "string",
- "attributes": {
- "name": "Mapping 1",
- "configuration": [
- {
- "identifier": "sku",
- "field": 1
}, - {
- "identifier": "ian",
- "field": 2,
- "missingValue": "",
- "emptyValue": "N/A",
- "behavior": ""
}
]
}
}
}Get Product spreadsheet mapping
| productSpreadsheetMappingId required | string <uuid> |
| Accept | string Default: application/vnd.api+json application/vnd.api+json |
{- "jsonapi": {
- "version": "string",
- "meta": { }
}, - "links": {
- "self": "string"
}, - "data": {
- "type": "string",
- "id": "string",
- "attributes": {
- "uuid": "string",
- "name": 0,
- "user_id": 0,
- "is_custom": true,
- "configuration": [
- {
- "identifier": "string",
- "field": "string",
- "missingValue": "string",
- "emptyValue": "string",
- "behavior": "string"
}
]
}, - "links": {
- "self": "string"
}
}
}Create a new import batch with a google spreadsheet
| Accept | string Default: application/vnd.api+json application/vnd.api+json |
object | |||||||||||||||||
| |||||||||||||||||
{- "data": {
- "type": "string",
- "attributes": {
- "payload": {
- "spreadsheet_url": "string",
- "drive_url": "string"
}, - "workflow": "import"
}
}
}{- "jsonapi": {
- "version": "1.0"
}, - "data": {
- "type": "product-integration-batches",
- "id": "27",
- "attributes": {
- "workflow": "import"
}
}
}Create a new import batch with a csv spreadsheet
| Accept | string Default: application/vnd.api+json application/vnd.api+json |
object | |||||||||||||||||||
| |||||||||||||||||||
{- "data": {
- "type": "string",
- "attributes": {
- "payload": {
- "spreadsheet_upload_file_id": "string",
- "file_spreadsheet_sheet": 0,
- "mapping_id": "string"
}, - "workflow": "import"
}
}
}{- "jsonapi": {
- "version": "1.0"
}, - "data": {
- "type": "product-integration-batches",
- "id": "27",
- "attributes": {
- "payload": {
- "spreadsheet_upload_file_id": "file-upload:some-hash.csv"
}, - "workflow": "import"
}
}
}Create a new import batch with a xlsx spreadsheet
| Accept | string Default: application/vnd.api+json application/vnd.api+json |
object | |||||||||||||||||||
| |||||||||||||||||||
{- "data": {
- "type": "string",
- "attributes": {
- "payload": {
- "spreadsheet_upload_file_id": "string",
- "file_spreadsheet_sheet": 0,
- "mapping_id": "string"
}, - "workflow": "import"
}
}
}{- "jsonapi": {
- "version": "1.0"
}, - "data": {
- "type": "product-integration-batches",
- "id": "27",
- "attributes": {
- "payload": {
- "spreadsheet_upload_file_id": "file-upload:some-hash.csv"
}, - "workflow": "import"
}
}
}Returns list of Integrations for the current authenticated Brand
| page | integer >= 1 Default: 1 Results page number. |
| perPage | integer [ 1 .. 50 ] Default: 50 Number of items returned per page. |
| sort | string Default: "id" Enum: "id" "status" "type" "platform_product_id" "external_product_id" "internal_product_id" "product_updated_at" "integrated_at" "created_at" "updated_at" Property to sort results by. |
| filter[hasIssues] | boolean Keep only results with issues (true) or without issues (false). |
{- "data": [
- null
], - "jsonapi": {
- "version": "string",
- "meta": { }
}
}Product Integration Item
| catalogIntegrationId required | string <uuid> |
| Accept | string Default: application/vnd.api+json application/vnd.api+json |
{- "jsonapi": {
- "version": "1.0"
}, - "data": {
- "type": "integrations",
- "id": "1ed3fd06-050a-6a00-8009-0242ac120003",
- "attributes": {
- "id": 9,
- "brand_id": 22408,
- "type": "rutter",
- "platform": null,
- "status": "integrated",
- "platform_product_id": "7636912570603",
- "external_product_id": "198d8bbc-cdb7-469c-a4f8-472e0d1841ca",
- "internal_product_id": null,
- "internal_state": {
- "images": [ ],
- "name": "Juicy Orange",
- "description": "Such a wonderful orange, you should buy it 1",
- "unit_multiplier": 2,
- "currency": "EUR",
- "discount_rate": 0,
- "retail_price": {
- "amount": 20,
- "currency": "EUR"
}, - "wholesale_price": {
- "amount": 10,
- "currency": "EUR"
}, - "original_wholesale_price": {
- "amount": 10,
- "currency": "EUR"
}, - "vat_rate": 21,
- "categories": [
- {
- "id": 1269,
- "name": "Gourmet",
- "parent_id": 1262
}
], - "properties": [ ],
- "tags": [
- {
- "name": "tags_fresh_product"
}
], - "made_in": null,
- "hs_code": null,
- "variants": [
- {
- "id": null,
- "sku": "orng-1",
- "ian": "1234567891234",
- "price": {
- "currency": "EUR",
- "retail_price": {
- "amount": 20,
- "currency": "EUR"
}, - "wholesale_price": {
- "amount": 10,
- "currency": "EUR"
}, - "original_wholesale_price": {
- "amount": 10,
- "currency": "EUR"
}, - "discount_rate": 0
}, - "stock": {
- "id": null,
- "stock_quantity": 16,
- "is_always_in_stock": false,
- "reserved_quantity": 0,
- "available_quantity": 16
}, - "shape_properties": [
- {
- "id": null,
- "weight": 0.1,
- "weight_unit": "kg",
- "length": 0.1,
- "width": 0.1,
- "height": 0.1,
- "length_unit": "cm",
- "capacity": 0.1,
- "capacity_unit": "l"
}
], - "options": [
- {
- "id": 3,
- "name": "other",
- "value": "Default Title"
}
], - "name": null,
- "created_at": null,
- "images": [
- {
- "order": 1
}
]
}
]
}, - "issues": [ ],
- "internal_state_updated_at": "2022-09-30T14:27:32.793045Z",
- "integrated_at": null,
- "created_at": "2022-08-05T13:32:31.713000Z",
- "updated_at": "2022-09-30T14:27:32.811189Z"
},
}
}Update the catalog integration
| catalogIntegrationId required | string <uuid> |
| Accept | string Default: application/vnd.api+json application/vnd.api+json |
object | |||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
| |||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
{- "data": {
- "type": "integrations",
- "id": "1ed3fd06-050a-6a00-8009-0242ac120003",
- "attributes": {
- "internal_state": {
- "name": "Juicy Orange",
- "description": "Such a wonderful orange, you should buy it 1",
- "unit_multiplier": 2,
- "currency": "EUR",
- "discount_rate": 0,
- "retail_price": 20,
- "wholesale_price": 10,
- "original_wholesale_price": 10,
- "vat_rate": 21,
- "currency_rate": 1,
- "categories": [
- {
- "id": 1269
}
], - "properties": [
- {
- "name": "Juicy Orange",
- "value": "test"
}
], - "tags": [
- {
- "name": "tags_fresh_product"
}
], - "made_in": 76,
- "variants": [
- {
- "id": null,
- "sku": "orng-1",
- "ian": "1234567891234",
- "currency_rate": 1,
- "currency": "EUR",
- "price": {
- "currency": "EUR",
- "retail_price": {
- "amount": 20
}, - "wholesale_price": {
- "amount": 10
}, - "original_wholesale_price": {
- "amount": 10
}, - "discount_rate": 0
}, - "stock": {
- "stock_quantity": 16,
- "is_always_in_stock": false,
- "reserved_quantity": 0,
- "available_quantity": 16
}, - "shape_properties": [
- {
- "id": 1,
- "weight": 1,
- "weight_unit": "kg",
- "length": 1,
- "width": 1,
- "height": 1,
- "length_unit": "cm",
- "capacity": 1,
- "capacity_unit": "l"
}
], - "options": [
- {
- "id": 3,
- "name": "other",
- "value": "Default Title"
}
], - "name": "variant name",
- "images": [
- "/to-import/be0fadfa28780b2a90b5_1685957778.jpg"
]
}
]
}
}
}
}{- "jsonapi": {
- "version": "1.0"
}, - "data": {
- "type": "integrations",
- "id": "1ed3fd06-050a-6a00-8009-0242ac120003",
- "attributes": {
- "id": 9,
- "brand_id": 22408,
- "type": "rutter",
- "platform": null,
- "status": "integrated",
- "platform_product_id": "7636912570603",
- "external_product_id": "198d8bbc-cdb7-469c-a4f8-472e0d1841ca",
- "internal_product_id": null,
- "internal_state": {
- "images": [ ],
- "name": "Juicy Orange",
- "description": "Such a wonderful orange, you should buy it 1",
- "unit_multiplier": 2,
- "currency": "EUR",
- "discount_rate": 0,
- "retail_price": {
- "amount": 20,
- "currency": "EUR"
}, - "wholesale_price": {
- "amount": 10,
- "currency": "EUR"
}, - "original_wholesale_price": {
- "amount": 10,
- "currency": "EUR"
}, - "vat_rate": 21,
- "categories": [
- {
- "id": 1269,
- "name": "Gourmet",
- "parent_id": 1262
}
], - "properties": [ ],
- "tags": [
- {
- "name": "tags_fresh_product"
}
], - "made_in": null,
- "hs_code": null,
- "variants": [
- {
- "id": null,
- "sku": "orng-1",
- "ian": "1234567891234",
- "price": {
- "currency": "EUR",
- "retail_price": {
- "amount": 20,
- "currency": "EUR"
}, - "wholesale_price": {
- "amount": 10,
- "currency": "EUR"
}, - "original_wholesale_price": {
- "amount": 10,
- "currency": "EUR"
}, - "discount_rate": 0
}, - "stock": {
- "id": null,
- "stock_quantity": 16,
- "is_always_in_stock": false,
- "reserved_quantity": 0,
- "available_quantity": 16
}, - "shape_properties": [
- {
- "id": null,
- "weight": 0.1,
- "weight_unit": "kg",
- "length": 0.1,
- "width": 0.1,
- "height": 0.1,
- "length_unit": "cm",
- "capacity": 0.1,
- "capacity_unit": "l"
}
], - "options": [
- {
- "id": 3,
- "name": "other",
- "value": "Default Title"
}
], - "name": null,
- "created_at": null,
- "images": [
- {
- "order": 1
}
]
}
]
}, - "issues": [ ],
- "internal_state_updated_at": "2022-09-30T14:27:32.793045Z",
- "integrated_at": null,
- "created_at": "2022-08-05T13:32:31.713000Z",
- "updated_at": "2022-09-30T14:27:32.811189Z"
},
}
}Returns the catalog integration configuration of a brand
| brandConfigUuid required | string <uuid> Catalog integration configuration UUID of a brand |
| Accept | string Default: application/vnd.api+json application/vnd.api+json |
{- "data": {
- "type": "string",
- "id": "497f6eca-6276-4993-bfeb-53cbbbba6f08",
- "attributes": {
- "images_google_folder_url": "string",
- "generated_google_spreadsheet": {
- "instructions_sheet_url": "string",
- "data_sheet_url": "string"
}, - "created_at": "2019-08-24T14:15:22Z",
- "updated_at": "2019-08-24T14:15:22Z"
}
}, - "jsonapi": {
- "version": "string",
- "meta": { }
}
}Custom endpoint to generate empty spreadsheet for authenticated Brand
| brandConfigUuid required | string <uuid> Brand configuration ID |
{- "jsonapi": {
- "version": "1.0"
}, - "errors": [
- {
- "detail": "Unauthorized",
- "status": "401"
}
]
}Custom endpoint to delete related spreadsheet for authenticated Brand
| brandConfigUuid required | string <uuid> Brand configuration ID |
{- "jsonapi": {
- "version": "1.0"
}, - "errors": [
- {
- "detail": "Unauthorized",
- "status": "401"
}
]
}Update the product integrations of the user
| filter[id] | Array of strings <uuid> Product integration ID |
| filter[status] | Array of strings Product integration status |
| filter[hasIssues] | boolean Apply only to results with issues (true) or without issues (false). |
| Accept | string Default: application/vnd.api+json application/vnd.api+json |
required | object | ||||||||||||
| |||||||||||||
{- "data": {
- "internalState": {
- "vatRate": 0,
- "madeIn": "string",
- "unitMultiplier": 0,
- "categories": [
- "497f6eca-6276-4993-bfeb-53cbbbba6f08"
]
}
}
}{- "jsonapi": {
- "version": "1.0"
}, - "errors": [
- {
- "detail": "Unauthorized",
- "status": "401"
}
]
}Number of imported integrations for authenticated brand
{- "jsonapi": {
- "version": "string",
- "meta": { }
}, - "meta": {
- "products_total_count": 0,
- "products_without_issues_total_count": 0
}
}Approve all product integrations of a brand. Filters may be applied.
| filter[status] | Array of strings Product integration statuses |
| filter[hasIssues] | boolean Apply only to results with issues (true) or without issues (false). |
| Accept | string Default: application/vnd.api+json application/vnd.api+json |
{- "jsonapi": {
- "version": "1.0"
}, - "errors": [
- {
- "detail": "Unauthorized",
- "status": "401"
}
]
}Purge integrations
| filter[status] | Array of arrays Product integration status |
| filter[hasIssues] | boolean Apply only to results with issues (true) or without issues (false). |
| Accept | string application/vnd.api+json |
{- "jsonapi": {
- "version": "1.0"
}, - "errors": [
- {
- "detail": "Unauthorized",
- "status": "401"
}
]
}Returns list of existing batches for current authenticated user
| page | integer >= 1 Default: 1 Results page number. |
| perPage | integer [ 1 .. 50 ] Default: 50 Number of items returned per page. |
| sort | string Default: "created_at" Property to sort results by. |
{- "data": [
- {
- "type": "string",
- "id": "497f6eca-6276-4993-bfeb-53cbbbba6f08",
- "attributes": {
- "fetched_count": 0,
- "imported_count": 0,
- "integrated_count": 0,
- "failed_count": 0,
- "created_count": 0,
- "updated_count": 0,
- "type": "string",
- "import_type": "add",
- "workflow": "import",
- "status": "string"
}
}
], - "jsonapi": {
- "version": "string",
- "meta": { }
}
}{- "jsonapi": {
- "version": "string",
- "meta": { }
}, - "data": [
- {
- "type": "categories",
- "id": "1ed550e3-6ab2-6fb0-8041-0242ac130006",
- "attributes": {
- "name": "Furniture"
}, - "relationships": {
- "parent": {
- "data": {
- "type": "categories",
- "id": "1ed550e3-505e-6254-803d-0242ac130006"
}
}
}
}
]
}| productVariantUuid required | string <uuid> Product variant uuid |
| Accept | string application/vnd.api+json |
| data | any |
{- "data": null
}{- "jsonapi": {
- "version": "1.0"
}, - "errors": [
- {
- "detail": "Unauthorized",
- "status": "401"
}
]
}Returns a list of orders being or having been fulfilled
| page[limit] | integer |
| page[offset] | integer |
| filter[isDirect] | boolean Request only direct orders (true) or only Ankorstore-related orders (false) |
| filter[status] | string Enum: "internal" "requested" "created" "scheduled" "released" "shipped" "cancelled" Request a specific status only |
| filter[uuid] | Array of strings <uuid> List of fulfillment orders uuids |
| sort | string Default: "-createdAt" Enum: "createdAt" "-createdAt" Specify what attribute(s) to sort by |
| Accept | string application/vnd.api+json |
{- "data": [
- {
- "type": "string",
- "id": "497f6eca-6276-4993-bfeb-53cbbbba6f08",
- "attributes": {
- "reference": "string",
- "orderId": 0,
- "orderUuid": "75f04ea8-fbe5-43d1-b5fc-e130f973b1a5",
- "fulfillmentBrandId": "190f203a-1767-4d67-a4ee-b3e306d130f8",
- "isDirect": true,
- "shippingCharged": true,
- "status": "internal",
- "createdAt": "2019-08-24T14:15:22Z",
- "shippingAddress": {
- "firstName": "string",
- "lastName": "string",
- "company": "string",
- "phone": "string",
- "email": "string",
- "street": "string",
- "city": "string",
- "postalCode": "string",
- "country": "string"
}, - "billingAddress": {
- "firstName": "string",
- "lastName": "string",
- "company": "string",
- "phone": "string",
- "email": "string",
- "street": "string",
- "city": "string",
- "postalCode": "string",
- "country": "string"
}, - "items": [
- {
- "fulfillmentItemId": "b965c21b-69aa-47cf-afa8-0c1ad95c7023",
- "quantity": 0
}
]
}, - "links": {
- "order": "string"
}, - "relationships": {
- "statusUpdates": {
- "data": [
- {
- "id": "497f6eca-6276-4993-bfeb-53cbbbba6f08",
- "type": "string",
- "meta": { }
}
]
}, - "shipments": {
- "data": [
- {
- "id": "497f6eca-6276-4993-bfeb-53cbbbba6f08",
- "type": "string",
- "meta": { }
}
]
}
}
}
], - "jsonapi": {
- "version": "string",
- "meta": { }
}, - "included": [
- {
- "type": "string",
- "id": "497f6eca-6276-4993-bfeb-53cbbbba6f08",
- "attributes": {
- "trackingNumber": "string",
- "trackingLink": "string",
- "provider": "string",
- "providerName": "string",
- "width": 0,
- "length": 0,
- "height": 0,
- "weight": 0,
- "createdAt": "2019-08-24T14:15:22Z"
}
}
]
}Creates a new fulfillment order
| validateOrder | boolean Validate the request without creating the order |
| Accept | string application/vnd.api+json |
| reference | string | ||||||||||||||||||
| orderId | integer or null Ankorstore order ID, or null for direct fulfillment order | ||||||||||||||||||
| orderUuid | string or null <uuid> Ankorstore order uuid, or null for direct fulfillment order | ||||||||||||||||||
| masterOrderUuid | string or null <uuid> Ankorstore master order uuid, or null if not set | ||||||||||||||||||
| fulfillmentBrandId | string <uuid> | ||||||||||||||||||
| shippingCharged | boolean Is shipping fee charged for order, default to true | ||||||||||||||||||
required | object Shipping address for the recipient. Required for order creation | ||||||||||||||||||
| |||||||||||||||||||
object or null Optional billing address for the recipient | |||||||||||||||||||
Any of
| |||||||||||||||||||
required | Array of objects or objects | ||||||||||||||||||
Array Any of
| |||||||||||||||||||
{- "reference": "string",
- "orderId": 0,
- "orderUuid": "75f04ea8-fbe5-43d1-b5fc-e130f973b1a5",
- "masterOrderUuid": "8f6deb2e-3f81-488c-8887-508b733f0a5b",
- "fulfillmentBrandId": "190f203a-1767-4d67-a4ee-b3e306d130f8",
- "shippingCharged": true,
- "shippingAddress": {
- "firstName": "string",
- "lastName": "string",
- "company": "string",
- "phone": "string",
- "email": "string",
- "street": "string",
- "city": "string",
- "postalCode": "string",
- "country": "string"
}, - "billingAddress": {
- "firstName": "string",
- "lastName": "string",
- "company": "string",
- "phone": "string",
- "email": "string",
- "street": "string",
- "city": "string",
- "postalCode": "string",
- "country": "string"
}, - "items": [
- {
- "fulfillableId": "611a6658-a5d5-475f-8280-4b693104739b",
- "quantity": 0
}
]
}{- "data": {
- "type": "string",
- "id": "497f6eca-6276-4993-bfeb-53cbbbba6f08",
- "attributes": {
- "reference": "string",
- "orderId": 0,
- "orderUuid": "75f04ea8-fbe5-43d1-b5fc-e130f973b1a5",
- "fulfillmentBrandId": "190f203a-1767-4d67-a4ee-b3e306d130f8",
- "isDirect": true,
- "shippingCharged": true,
- "status": "internal",
- "createdAt": "2019-08-24T14:15:22Z",
- "shippingAddress": {
- "firstName": "string",
- "lastName": "string",
- "company": "string",
- "phone": "string",
- "email": "string",
- "street": "string",
- "city": "string",
- "postalCode": "string",
- "country": "string"
}, - "billingAddress": {
- "firstName": "string",
- "lastName": "string",
- "company": "string",
- "phone": "string",
- "email": "string",
- "street": "string",
- "city": "string",
- "postalCode": "string",
- "country": "string"
}, - "items": [
- {
- "fulfillmentItemId": "b965c21b-69aa-47cf-afa8-0c1ad95c7023",
- "quantity": 0
}
]
}, - "links": {
- "order": "string"
}, - "relationships": {
- "statusUpdates": {
- "data": [
- {
- "id": "497f6eca-6276-4993-bfeb-53cbbbba6f08",
- "type": "string",
- "meta": { }
}
]
}, - "shipments": {
- "data": [
- {
- "id": "497f6eca-6276-4993-bfeb-53cbbbba6f08",
- "type": "string",
- "meta": { }
}
]
}
}
}, - "jsonapi": {
- "version": "string",
- "meta": { }
}, - "included": [
- {
- "type": "string",
- "id": "497f6eca-6276-4993-bfeb-53cbbbba6f08",
- "attributes": {
- "trackingNumber": "string",
- "trackingLink": "string",
- "provider": "string",
- "providerName": "string",
- "width": 0,
- "length": 0,
- "height": 0,
- "weight": 0,
- "createdAt": "2019-08-24T14:15:22Z"
}
}
]
}Returns details of a single fulfillment order
| id required | string <uuid> Fulfillment order ID |
| Accept | string Default: application/vnd.api+json application/vnd.api+json |
{- "data": {
- "type": "string",
- "id": "497f6eca-6276-4993-bfeb-53cbbbba6f08",
- "attributes": {
- "reference": "string",
- "orderId": 0,
- "orderUuid": "75f04ea8-fbe5-43d1-b5fc-e130f973b1a5",
- "fulfillmentBrandId": "190f203a-1767-4d67-a4ee-b3e306d130f8",
- "isDirect": true,
- "shippingCharged": true,
- "status": "internal",
- "createdAt": "2019-08-24T14:15:22Z",
- "shippingAddress": {
- "firstName": "string",
- "lastName": "string",
- "company": "string",
- "phone": "string",
- "email": "string",
- "street": "string",
- "city": "string",
- "postalCode": "string",
- "country": "string"
}, - "billingAddress": {
- "firstName": "string",
- "lastName": "string",
- "company": "string",
- "phone": "string",
- "email": "string",
- "street": "string",
- "city": "string",
- "postalCode": "string",
- "country": "string"
}, - "items": [
- {
- "fulfillmentItemId": "b965c21b-69aa-47cf-afa8-0c1ad95c7023",
- "quantity": 0
}
]
}, - "links": {
- "order": "string"
}, - "relationships": {
- "statusUpdates": {
- "data": [
- {
- "id": "497f6eca-6276-4993-bfeb-53cbbbba6f08",
- "type": "string",
- "meta": { }
}
]
}, - "shipments": {
- "data": [
- {
- "id": "497f6eca-6276-4993-bfeb-53cbbbba6f08",
- "type": "string",
- "meta": { }
}
]
}
}
}, - "jsonapi": {
- "version": "string",
- "meta": { }
}, - "included": [
- {
- "type": "string",
- "id": "497f6eca-6276-4993-bfeb-53cbbbba6f08",
- "attributes": {
- "trackingNumber": "string",
- "trackingLink": "string",
- "provider": "string",
- "providerName": "string",
- "width": 0,
- "length": 0,
- "height": 0,
- "weight": 0,
- "createdAt": "2019-08-24T14:15:22Z"
}
}
]
}Returns a list of declared replenishments
| limit | integer |
| offset | integer |
| sort | string Default: "-submittedAt" Specify what attribute(s) to sort by |
| Accept | string application/vnd.api+json |
{- "data": [
- {
- "type": "string",
- "id": "497f6eca-6276-4993-bfeb-53cbbbba6f08",
- "attributes": {
- "brandId": 0,
- "warehouseId": "42912a8b-9d3f-4436-9cfe-fb2306e3310f",
- "shippingCarrierName": "string",
- "shipmentType": "LTL",
- "items": [
- {
- "fulfillmentItemId": "b965c21b-69aa-47cf-afa8-0c1ad95c7023",
- "quantity": 0,
- "status": "declared"
}
], - "reference": "string",
- "status": "created",
- "receivedAt": "2019-08-24T14:15:22Z",
- "submittedAt": "2019-08-24T14:15:22Z",
- "receipts": [
- {
- "receiptId": "string",
- "receivedAt": "2019-08-24T14:15:22Z",
- "items": [
- {
- "fulfillmentItemId": "b965c21b-69aa-47cf-afa8-0c1ad95c7023",
- "quantity": 0,
- "status": "declared"
}
]
}
]
}, - "relationships": {
- "fulfillmentBrand": {
- "data": {
- "id": "497f6eca-6276-4993-bfeb-53cbbbba6f08",
- "type": "string",
- "meta": { }
}
}, - "warehouse": {
- "data": {
- "id": "497f6eca-6276-4993-bfeb-53cbbbba6f08",
- "type": "string",
- "meta": { }
}
}
}
}
], - "jsonapi": {
- "version": "string",
- "meta": { }
}
}Creates a new replenishment
| Accept | string application/vnd.api+json |
| brandId | integer | ||||||
| warehouseId required | string <uuid> | ||||||
| shippingCarrierName required | string | ||||||
| shipmentType required | string Enum: "LTL" "FTL" "PARCEL" | ||||||
required | Array of objects (ReplenishmentItem) | ||||||
Array
| |||||||
| id | string <uuid> | ||||||
{- "brandId": 0,
- "warehouseId": "42912a8b-9d3f-4436-9cfe-fb2306e3310f",
- "shippingCarrierName": "string",
- "shipmentType": "LTL",
- "items": [
- {
- "fulfillmentItemId": "b965c21b-69aa-47cf-afa8-0c1ad95c7023",
- "quantity": 0,
- "status": "declared"
}
], - "id": "497f6eca-6276-4993-bfeb-53cbbbba6f08"
}{- "data": {
- "type": "string",
- "id": "497f6eca-6276-4993-bfeb-53cbbbba6f08",
- "attributes": {
- "brandId": 0,
- "warehouseId": "42912a8b-9d3f-4436-9cfe-fb2306e3310f",
- "shippingCarrierName": "string",
- "shipmentType": "LTL",
- "items": [
- {
- "fulfillmentItemId": "b965c21b-69aa-47cf-afa8-0c1ad95c7023",
- "quantity": 0,
- "status": "declared"
}
], - "reference": "string",
- "status": "created",
- "receivedAt": "2019-08-24T14:15:22Z",
- "submittedAt": "2019-08-24T14:15:22Z",
- "receipts": [
- {
- "receiptId": "string",
- "receivedAt": "2019-08-24T14:15:22Z",
- "items": [
- {
- "fulfillmentItemId": "b965c21b-69aa-47cf-afa8-0c1ad95c7023",
- "quantity": 0,
- "status": "declared"
}
]
}
]
}, - "relationships": {
- "fulfillmentBrand": {
- "data": {
- "id": "497f6eca-6276-4993-bfeb-53cbbbba6f08",
- "type": "string",
- "meta": { }
}
}, - "warehouse": {
- "data": {
- "id": "497f6eca-6276-4993-bfeb-53cbbbba6f08",
- "type": "string",
- "meta": { }
}
}
}
}, - "jsonapi": {
- "version": "string",
- "meta": { }
}, - "included": [
- {
- "type": "string",
- "id": "497f6eca-6276-4993-bfeb-53cbbbba6f08",
- "attributes": {
- "brandId": 0,
- "warehouseId": "42912a8b-9d3f-4436-9cfe-fb2306e3310f",
- "billingCategory": "S",
- "reference": "string",
- "parcelCarrier": "DPD_CLA",
- "palletCarrier": "KNC01_C",
- "maxParcelShipmentWeight": 0
}, - "relationships": {
- "warehouse": {
- "data": {
- "id": "497f6eca-6276-4993-bfeb-53cbbbba6f08",
- "type": "string",
- "meta": { }
}
}
}
}
]
}Returns details of a single replenishment
| id required | string <uuid> Replenishment ID |
| Accept | string application/vnd.api+json |
{- "data": {
- "type": "string",
- "id": "497f6eca-6276-4993-bfeb-53cbbbba6f08",
- "attributes": {
- "brandId": 0,
- "warehouseId": "42912a8b-9d3f-4436-9cfe-fb2306e3310f",
- "shippingCarrierName": "string",
- "shipmentType": "LTL",
- "items": [
- {
- "fulfillmentItemId": "b965c21b-69aa-47cf-afa8-0c1ad95c7023",
- "quantity": 0,
- "status": "declared"
}
], - "reference": "string",
- "status": "created",
- "receivedAt": "2019-08-24T14:15:22Z",
- "submittedAt": "2019-08-24T14:15:22Z",
- "receipts": [
- {
- "receiptId": "string",
- "receivedAt": "2019-08-24T14:15:22Z",
- "items": [
- {
- "fulfillmentItemId": "b965c21b-69aa-47cf-afa8-0c1ad95c7023",
- "quantity": 0,
- "status": "declared"
}
]
}
]
}, - "relationships": {
- "fulfillmentBrand": {
- "data": {
- "id": "497f6eca-6276-4993-bfeb-53cbbbba6f08",
- "type": "string",
- "meta": { }
}
}, - "warehouse": {
- "data": {
- "id": "497f6eca-6276-4993-bfeb-53cbbbba6f08",
- "type": "string",
- "meta": { }
}
}
}
}, - "jsonapi": {
- "version": "string",
- "meta": { }
}, - "included": [
- {
- "type": "string",
- "id": "497f6eca-6276-4993-bfeb-53cbbbba6f08",
- "attributes": {
- "brandId": 0,
- "warehouseId": "42912a8b-9d3f-4436-9cfe-fb2306e3310f",
- "billingCategory": "S",
- "reference": "string",
- "parcelCarrier": "DPD_CLA",
- "palletCarrier": "KNC01_C",
- "maxParcelShipmentWeight": 0
}, - "relationships": {
- "warehouse": {
- "data": {
- "id": "497f6eca-6276-4993-bfeb-53cbbbba6f08",
- "type": "string",
- "meta": { }
}
}
}
}
]
}Returns a list of quantity adjustments related to a replenishment
| id required | string <uuid> Replenishment id |
| page[limit] | integer |
| page[offset] | integer |
| sort | string Value: "createdAt" Specify what attribute(s) to sort by |
| Accept | string application/vnd.api+json |
{- "data": [
- {
- "type": "string",
- "id": "497f6eca-6276-4993-bfeb-53cbbbba6f08",
- "attributes": {
- "fulfillmentItemId": "b965c21b-69aa-47cf-afa8-0c1ad95c7023",
- "previousQuantity": 0,
- "newQuantity": 0,
- "reasonCode": "ORDER_CREATED",
- "reasonText": "string",
- "createdAt": "2019-08-24T14:15:22Z",
- "metadata": [
- {
- "order_id": 0,
- "order_reference_id": "string",
- "fulfillment_order_uuid": "6ed277ae-d253-4b46-a7e4-69c3920d5c65",
- "master_order_uuid": "2062f9e0-e52c-4eca-8224-48da1da94194"
}
]
}
}
], - "jsonapi": {
- "version": "string",
- "meta": { }
}
}Returns a list of quantity adjustments related to the replenishment
| id required | string <uuid> Replenishment id |
| page[limit] | integer |
| page[offset] | integer |
| sort | string Value: "createdAt" Specify what attribute(s) to sort by |
| Accept | string application/vnd.api+json |
{- "data": [
- {
- "id": "497f6eca-6276-4993-bfeb-53cbbbba6f08",
- "type": "string",
- "meta": { }
}
], - "jsonapi": {
- "version": "string",
- "meta": { }
}
}Returns a list of warehouses available to provide fulfillment services
| Accept | string application/vnd.api+json |
{- "data": [
- {
- "type": "string",
- "id": "string",
- "attributes": {
- "code": "string",
- "name": "string",
- "street": "string",
- "postalCode": "string",
- "city": "string",
- "countryCode": "string",
- "email": "string",
- "phone": "string"
}
}
], - "jsonapi": {
- "version": "string",
- "meta": { }
}
}Returns details of a warehouse
| id required | string <uuid> Warehouse ID |
| Accept | string application/vnd.api+json |
{- "data": {
- "type": "string",
- "id": "string",
- "attributes": {
- "code": "string",
- "name": "string",
- "street": "string",
- "postalCode": "string",
- "city": "string",
- "countryCode": "string",
- "email": "string",
- "phone": "string"
}
}, - "jsonapi": {
- "version": "string",
- "meta": { }
}
}Returns a list of fulfillment items
| limit | integer |
| offset | integer |
| filter[id] | Array of strings <uuid> non-empty Request a subset of IDs only |
| filter[status] | string Enum: "synced" "pending" Request a subset of status only |
| sort | string Enum: "expectZeroStockAt" "-expectZeroStockAt" "stockStatus" "-stockStatus" "availableQuantityUnits" "-availableQuantityUnits" Specify what attribute(s) to sort by |
| Accept | string application/vnd.api+json |
{- "data": [
- {
- "type": "string",
- "id": "497f6eca-6276-4993-bfeb-53cbbbba6f08",
- "attributes": {
- "productVariantId": 0,
- "barcode": "string",
- "unitsPerBatch": 0,
- "unitCostMargin": 0,
- "unitCost": 0,
- "sku": "string",
- "productName": "string",
- "categoryName": "string",
- "classificationCode": "string",
- "expiryTracked": true,
- "shelfLife": 0,
- "batchTracked": true,
- "availableQuantity": 0,
- "status": "created",
- "expectedStockForDays": 0,
- "stockStatus": "in_stock"
}, - "relationships": {
- "fulfillmentBrand": {
- "data": {
- "id": "497f6eca-6276-4993-bfeb-53cbbbba6f08",
- "type": "string",
- "meta": { }
}
}
}
}
], - "jsonapi": {
- "version": "string",
- "meta": { }
}, - "included": [
- {
- "type": "string",
- "id": "497f6eca-6276-4993-bfeb-53cbbbba6f08",
- "attributes": {
- "fulfillmentItemId": "b965c21b-69aa-47cf-afa8-0c1ad95c7023",
- "previousQuantity": 0,
- "newQuantity": 0,
- "reasonCode": "ORDER_CREATED",
- "reasonText": "string",
- "createdAt": "2019-08-24T14:15:22Z",
- "metadata": [
- {
- "order_id": 0,
- "order_reference_id": "string",
- "fulfillment_order_uuid": "6ed277ae-d253-4b46-a7e4-69c3920d5c65",
- "master_order_uuid": "2062f9e0-e52c-4eca-8224-48da1da94194"
}
]
}
}
]
}Create an fulfillment item
| Accept | string application/vnd.api+json |
| data | any |
{- "data": null
}{- "data": {
- "type": "string",
- "id": "497f6eca-6276-4993-bfeb-53cbbbba6f08",
- "attributes": {
- "productVariantId": 0,
- "barcode": "string",
- "unitsPerBatch": 0,
- "unitCostMargin": 0,
- "unitCost": 0,
- "sku": "string",
- "productName": "string",
- "categoryName": "string",
- "classificationCode": "string",
- "expiryTracked": true,
- "shelfLife": 0,
- "batchTracked": true,
- "availableQuantity": 0,
- "status": "created",
- "expectedStockForDays": 0,
- "stockStatus": "in_stock"
}, - "relationships": {
- "fulfillmentBrand": {
- "data": {
- "id": "497f6eca-6276-4993-bfeb-53cbbbba6f08",
- "type": "string",
- "meta": { }
}
}
}
}, - "jsonapi": {
- "version": "string",
- "meta": { }
}, - "included": [
- {
- "type": "string",
- "id": "497f6eca-6276-4993-bfeb-53cbbbba6f08",
- "attributes": {
- "fulfillmentItemId": "b965c21b-69aa-47cf-afa8-0c1ad95c7023",
- "previousQuantity": 0,
- "newQuantity": 0,
- "reasonCode": "ORDER_CREATED",
- "reasonText": "string",
- "createdAt": "2019-08-24T14:15:22Z",
- "metadata": [
- {
- "order_id": 0,
- "order_reference_id": "string",
- "fulfillment_order_uuid": "6ed277ae-d253-4b46-a7e4-69c3920d5c65",
- "master_order_uuid": "2062f9e0-e52c-4eca-8224-48da1da94194"
}
]
}
}
]
}Returns a fulfillment item created for the authenticated brand
| id required | string <uuid> Fulfillment item ID |
| Accept | string application/vnd.api+json |
{- "data": {
- "type": "string",
- "id": "497f6eca-6276-4993-bfeb-53cbbbba6f08",
- "attributes": {
- "productVariantId": 0,
- "barcode": "string",
- "unitsPerBatch": 0,
- "unitCostMargin": 0,
- "unitCost": 0,
- "sku": "string",
- "productName": "string",
- "categoryName": "string",
- "classificationCode": "string",
- "expiryTracked": true,
- "shelfLife": 0,
- "batchTracked": true,
- "availableQuantity": 0,
- "status": "created",
- "expectedStockForDays": 0,
- "stockStatus": "in_stock"
}, - "relationships": {
- "fulfillmentBrand": {
- "data": {
- "id": "497f6eca-6276-4993-bfeb-53cbbbba6f08",
- "type": "string",
- "meta": { }
}
}
}
}, - "jsonapi": {
- "version": "string",
- "meta": { }
}, - "included": [
- {
- "type": "string",
- "id": "497f6eca-6276-4993-bfeb-53cbbbba6f08",
- "attributes": {
- "fulfillmentItemId": "b965c21b-69aa-47cf-afa8-0c1ad95c7023",
- "previousQuantity": 0,
- "newQuantity": 0,
- "reasonCode": "ORDER_CREATED",
- "reasonText": "string",
- "createdAt": "2019-08-24T14:15:22Z",
- "metadata": [
- {
- "order_id": 0,
- "order_reference_id": "string",
- "fulfillment_order_uuid": "6ed277ae-d253-4b46-a7e4-69c3920d5c65",
- "master_order_uuid": "2062f9e0-e52c-4eca-8224-48da1da94194"
}
]
}
}
]
}Returns a list of quantity adjustments related to an item
| id required | string <uuid> Fulfillment item ID |
| page[limit] | integer |
| page[offset] | integer |
| sort | string Value: "createdAt" Specify what attribute(s) to sort by |
| Accept | string application/vnd.api+json |
{- "data": [
- {
- "type": "string",
- "id": "497f6eca-6276-4993-bfeb-53cbbbba6f08",
- "attributes": {
- "fulfillmentItemId": "b965c21b-69aa-47cf-afa8-0c1ad95c7023",
- "previousQuantity": 0,
- "newQuantity": 0,
- "reasonCode": "ORDER_CREATED",
- "reasonText": "string",
- "createdAt": "2019-08-24T14:15:22Z",
- "metadata": [
- {
- "order_id": 0,
- "order_reference_id": "string",
- "fulfillment_order_uuid": "6ed277ae-d253-4b46-a7e4-69c3920d5c65",
- "master_order_uuid": "2062f9e0-e52c-4eca-8224-48da1da94194"
}
]
}
}
], - "jsonapi": {
- "version": "string",
- "meta": { }
}
}Returns a list of quantity adjustments related to an item
| id required | string <uuid> Fulfillment item ID |
| page[limit] | integer |
| page[offset] | integer |
| sort | string Value: "createdAt" Specify what attribute(s) to sort by |
| Accept | string application/vnd.api+json |
{- "data": [
- {
- "id": "497f6eca-6276-4993-bfeb-53cbbbba6f08",
- "type": "string",
- "meta": { }
}
], - "jsonapi": {
- "version": "string",
- "meta": { }
}
}Returns a list of fulfillable's availability
| fulfillableIds[] required | Array of strings <uuid> non-empty A set of UUIDs representing the fulfillables to check availability for. |
| Accept | string application/vnd.api+json |
{- "data": [
- {
- "type": "string",
- "id": "497f6eca-6276-4993-bfeb-53cbbbba6f08",
- "attributes": {
- "fulfillableId": "611a6658-a5d5-475f-8280-4b693104739b",
- "batchQuantity": 0,
- "unitQuantity": 0
}, - "relationships": {
- "item": {
- "data": {
- "id": "497f6eca-6276-4993-bfeb-53cbbbba6f08",
- "type": "string",
- "meta": { }
}
}
}
}
], - "jsonapi": {
- "version": "string",
- "meta": { }
}, - "included": [
- {
- "type": "string",
- "id": "497f6eca-6276-4993-bfeb-53cbbbba6f08",
- "attributes": {
- "productVariantId": 0,
- "barcode": "string",
- "unitsPerBatch": 0,
- "unitCostMargin": 0,
- "unitCost": 0,
- "sku": "string",
- "productName": "string",
- "categoryName": "string",
- "classificationCode": "string",
- "expiryTracked": true,
- "shelfLife": 0,
- "batchTracked": true,
- "availableQuantity": 0,
- "status": "created",
- "expectedStockForDays": 0,
- "stockStatus": "in_stock"
}, - "relationships": {
- "fulfillmentBrand": {
- "data": {
- "id": "497f6eca-6276-4993-bfeb-53cbbbba6f08",
- "type": "string",
- "meta": { }
}
}
}
}
]
}Returns a fulfillment brand
| id required | string <uuid> Fulfillment brand ID |
| Accept | string application/vnd.api+json |
{- "data": {
- "type": "string",
- "id": "497f6eca-6276-4993-bfeb-53cbbbba6f08",
- "attributes": {
- "brandId": 0,
- "warehouseId": "42912a8b-9d3f-4436-9cfe-fb2306e3310f",
- "billingCategory": "S",
- "reference": "string",
- "parcelCarrier": "DPD_CLA",
- "palletCarrier": "KNC01_C",
- "maxParcelShipmentWeight": 0
}, - "relationships": {
- "warehouse": {
- "data": {
- "id": "497f6eca-6276-4993-bfeb-53cbbbba6f08",
- "type": "string",
- "meta": { }
}
}
}
}, - "jsonapi": {
- "version": "string",
- "meta": { }
}, - "included": [
- {
- "type": "string",
- "id": "string",
- "attributes": {
- "code": "string",
- "name": "string",
- "street": "string",
- "postalCode": "string",
- "city": "string",
- "countryCode": "string",
- "email": "string",
- "phone": "string"
}
}
]
}Creates a new fulfillment brand
| Accept | string application/vnd.api+json |
| brandId required | integer Ankorstore brand ID |
| brandName required | string |
| warehouseId | string <uuid> |
| billingCategory | string Enum: "S" "M" "L" |
| parcelCarrier | string Enum: "DPD_CLA" "DPD_PRE" |
| palletCarrier | string Enum: "KNC01_C" "KNC02_C" "DE_MES" "DE_MEI" |
| maxParcelShipmentWeight | integer or null |
{- "brandId": 0,
- "brandName": "string",
- "warehouseId": "42912a8b-9d3f-4436-9cfe-fb2306e3310f",
- "billingCategory": "S",
- "parcelCarrier": "DPD_CLA",
- "palletCarrier": "KNC01_C",
- "maxParcelShipmentWeight": 0
}{- "data": {
- "type": "string",
- "id": "497f6eca-6276-4993-bfeb-53cbbbba6f08",
- "attributes": {
- "brandId": 0,
- "warehouseId": "42912a8b-9d3f-4436-9cfe-fb2306e3310f",
- "billingCategory": "S",
- "reference": "string",
- "parcelCarrier": "DPD_CLA",
- "palletCarrier": "KNC01_C",
- "maxParcelShipmentWeight": 0
}, - "relationships": {
- "warehouse": {
- "data": {
- "id": "497f6eca-6276-4993-bfeb-53cbbbba6f08",
- "type": "string",
- "meta": { }
}
}
}
}, - "jsonapi": {
- "version": "string",
- "meta": { }
}, - "included": [
- {
- "type": "string",
- "id": "string",
- "attributes": {
- "code": "string",
- "name": "string",
- "street": "string",
- "postalCode": "string",
- "city": "string",
- "countryCode": "string",
- "email": "string",
- "phone": "string"
}
}
]
}Returns a list of brand service invoices
| limit | integer |
| offset | integer |
| filter[status] | Array of strings non-empty Items Enum: "pro_forma" "paid" "payment failed" "payment pending" "payment_processing" Request specific statuses only |
| Accept | string application/vnd.api+json |
{- "data": [
- {
- "type": "string",
- "id": "497f6eca-6276-4993-bfeb-53cbbbba6f08",
- "attributes": {
- "invoiceNumber": "string",
- "totalAmount": 0,
- "totalVat": 0,
- "totalAmountWithVat": 0,
- "invoicedAt": "string",
- "status": "pro_forma",
- "invoicePeriod": "string",
- "content": "string"
}
}
], - "jsonapi": {
- "version": "string",
- "meta": { }
}
}Create a Payment Service Provider Customer
| Accept | string application/vnd.api+json |
{- "data": {
- "type": "string",
- "id": "497f6eca-6276-4993-bfeb-53cbbbba6f08",
- "attributes": {
- "aksCustomerId": 0,
- "aksCustomerType": "brand",
- "customerId": "string",
- "setupIntentId": "string",
- "paymentServiceProvider": "string",
- "email": "string",
- "description": "string",
- "name": "string",
- "mandateType": "multi_use",
- "mandateStatus": "active"
}
}, - "jsonapi": {
- "version": "string",
- "meta": { }
}
}Returns a single payment service provider customer
| aksCustomerId required | integer Ankorstore customer ID e.g. brand_id, retailer_id |
| aksCustomerType | string Ankorstore customer e.g. brand, retailer, by default it's brand |
| Accept | string application/vnd.api+json |
{- "data": {
- "type": "string",
- "id": "497f6eca-6276-4993-bfeb-53cbbbba6f08",
- "attributes": {
- "aksCustomerId": 0,
- "aksCustomerType": "brand",
- "customerId": "string",
- "setupIntentId": "string",
- "paymentServiceProvider": "string",
- "email": "string",
- "description": "string",
- "name": "string",
- "mandateType": "multi_use",
- "mandateStatus": "active"
}
}, - "jsonapi": {
- "version": "string",
- "meta": { }
}
}Update the customer's mandate_status
| aksCustomerId required | integer Ankorstore customer ID e.g. brand_id, retailer_id |
| Accept | string application/vnd.api+json |
{- "data": {
- "type": "string",
- "id": "497f6eca-6276-4993-bfeb-53cbbbba6f08",
- "attributes": {
- "aksCustomerId": 0,
- "aksCustomerType": "brand",
- "customerId": "string",
- "setupIntentId": "string",
- "paymentServiceProvider": "string",
- "email": "string",
- "description": "string",
- "name": "string",
- "mandateType": "multi_use",
- "mandateStatus": "active"
}
}, - "jsonapi": {
- "version": "string",
- "meta": { }
}
}Returns a single setup intent
| id required | string Setup Intent id |
| Accept | string application/vnd.api+json |
{- "data": {
- "type": "string",
- "id": "497f6eca-6276-4993-bfeb-53cbbbba6f08",
- "attributes": {
- "clientSecret": "string",
- "ibanLast4": "string"
}
}, - "jsonapi": {
- "version": "string",
- "meta": { }
}
}Create new setup intent
| Accept | string application/vnd.api+json |
{- "data": {
- "type": "string",
- "id": "497f6eca-6276-4993-bfeb-53cbbbba6f08",
- "attributes": {
- "clientSecret": "string",
- "ibanLast4": "string"
}
}, - "jsonapi": {
- "version": "string",
- "meta": { }
}
}Returns search results for products related to a given brand.
| brandId required | string Identifier of the target brand |
| Accept | string Default: application/vnd.api+json application/vnd.api+json |
{- "jsonapi": {
- "version": "1.0"
}, - "errors": [
- {
- "detail": "Not Acceptable",
- "status": "406"
}
]
}Searches an Algolia products index against the given query.
| query required | string The search query. |
| hitsPerPage | integer [ 1 .. 100 ] Default: 20 The total number of pages in the search response. |
| page | integer [ 0 .. 9223372036854776000 ] The current page of results (zero-indexed). |
| Accept | string application/json |
{- "paging": {
- "page": 0,
- "pages": 500,
- "items_per_page": 2,
- "total": 1405
}, - "data": [
- {
- "id": 112233,
- "name": "PlateTastics",
- "images": [
- "/products/images/112233-asdfa2ac92fa6.jpg",
- "/products/images/112233-4123asdbaxcvxeb.jpg"
], - "retail_price": {
- "currency": "EUR",
- "amount": 160
}, - "wholesale_price": {
- "currency": "EUR",
- "amount": 78
}, - "location": "France",
- "brand": {
- "id": 123,
- "name": "We Sell Everything",
- "images": [
- "/brands/rounded/123-47d64faujbbla9.jpg"
]
}
}, - {
- "id": 332211,
- "name": "Super plates",
- "images": [
- "/products/images/332211-3fsfsdfasfc9ddb5.jpg",
- "/products/images/332211-42241basdfsadfa.jpg"
], - "retail_price": {
- "currency": "EUR",
- "amount": 300
}, - "wholesale_price": {
- "currency": "EUR",
- "amount": 142
}, - "location": "United Kingdom",
- "brand": {
- "id": 321,
- "name": "Plate Kings",
- "images": [
- "/brands/rounded/321-4balsdfjbla12.jpg"
]
}
}
]
}{- "jsonapi": {
- "version": "1.0"
}, - "data": [
- {
- "type": "offer-programmes",
- "id": "1ed505e9-0137-6440-888f-0242ac12000c",
- "attributes": {
- "name": "Diane Reynaud",
- "type": "offer-programmes",
- "start_date": "2022-10-20T00:00:00.000000Z",
- "end_date": "2022-11-03T00:00:00.000000Z",
- "optin": true,
- "free_trial_eligible": false,
- "content_management": {
- "prismic_id": "test",
- "link": {
- "terms_conditions": "test_link"
}
}
},
}, - {
- "type": "offer-programmes",
- "id": "1ed505eb-fd41-69d2-ad3d-0242ac12000c",
- "attributes": {
- "name": "Henriette-Élise Giraud",
- "type": "offer-programmes",
- "start_date": "2022-10-20T00:00:00.000000Z",
- "end_date": "2022-11-03T00:00:00.000000Z",
- "optin": false,
- "free_trial_eligible": true,
- "content_management": {
- "prismic_id": "test",
- "link": {
- "terms_conditions": "test_link"
}
}
},
}, - {
- "type": "offer-programmes",
- "id": "1ed5063b-2ada-68cc-a370-0242ac12000c",
- "attributes": {
- "name": "William Ollivier",
- "type": "offer-programmes",
- "start_date": "2022-10-20T00:00:00.000000Z",
- "end_date": "2022-11-03T00:00:00.000000Z",
- "optin": false,
- "free_trial_eligible": true,
- "content_management": {
- "prismic_id": "test",
- "link": {
- "terms_conditions": "test_link"
}
}
},
}
]
}Returns the an Offer Programme
| offerProgrammeId required | string |
{- "jsonapi": {
- "version": "1.0"
}, - "data": [
- {
- "type": "offer-programmes",
- "id": "1ed505e9-0137-6440-888f-0242ac12000c",
- "attributes": {
- "name": "Diane Reynaud",
- "type": "offer-programmes",
- "start_date": "2022-10-20T00:00:00.000000Z",
- "end_date": "2022-11-03T00:00:00.000000Z",
- "optin": true,
- "content_management": {
- "prismic_id": "test",
- "link": {
- "terms_conditions": "test_link"
}
}
},
}
]
}Opt-in a user on a Offer Programme
| offerProgrammeId required | string |
{- "jsonapi": {
- "version": "1.0"
}, - "data": {
- "type": "offer-programmes",
- "id": "1ed505e9-0137-6440-888f-0242ac12000c",
- "attributes": {
- "name": "Diane Reynaud",
- "type": "offer-programmes",
- "start_date": "2022-10-20T00:00:00.000000Z",
- "end_date": "2022-11-03T00:00:00.000000Z",
- "optin": true
},
}
}Opt-out a user on a Offer Programme
| offerProgrammeId required | string |
{- "jsonapi": {
- "version": "1.0"
}, - "data": {
- "type": "offer-programmes",
- "id": "1ed505e9-0137-6440-888f-0242ac12000c",
- "attributes": {
- "name": "Diane Reynaud",
- "type": "offer-programmes",
- "start_date": "2022-10-20T00:00:00.000000Z",
- "end_date": "2022-11-03T00:00:00.000000Z",
- "optin": true
},
}
}Creates a new non ankorstore fulfillment order
| Accept | string Default: application/vnd.api+json application/vnd.api+json |
required | object Shipping address for the recipient. Required for order creation | ||||||||||||||||||
| |||||||||||||||||||
required | Array of objects | ||||||||||||||||||
Array
| |||||||||||||||||||
| masterOrderUuid | string <uuid> | ||||||||||||||||||
{- "shippingAddress": {
- "country": "string",
- "postalCode": "string",
- "city": "string",
- "street": "string",
- "company": "string",
- "firstName": "string",
- "lastName": "string",
- "phone": "string",
- "email": "string"
}, - "items": [
- {
- "fulfillableId": "611a6658-a5d5-475f-8280-4b693104739b",
- "quantity": 0
}
], - "masterOrderUuid": "8f6deb2e-3f81-488c-8887-508b733f0a5b"
}{- "jsonapi": {
- "version": "string",
- "meta": { }
}, - "data": {
- "type": "string",
- "id": "497f6eca-6276-4993-bfeb-53cbbbba6f08",
- "attributes": {
- "type": "internal",
- "createdAt": "2019-08-24T14:15:22Z",
- "reference": "string",
- "masterStatus": "created",
- "status": {
- "name": "string",
- "shortTitle": "string",
- "title": null,
- "details": null,
- "subStatus": null
}, - "internalId": null,
- "totals": { },
- "brand": {
- "id": "497f6eca-6276-4993-bfeb-53cbbbba6f08",
- "name": "string",
- "link": "string",
- "display_address": {
- "city": "string"
}
}, - "updates": { },
- "taxes": { },
- "priorityTag": { },
- "vat": { },
- "deadlines": { },
- "synchronizations": { },
- "invoices": { },
- "shipping": {
- "shippingProvider": null,
- "isInternational": true,
- "hasShippingLabelGenerationError": true,
- "hasRevertedShippingLabels": true,
- "fees": { },
- "shippingAddress": {
- "address": {
- "countryCode": null,
- "postalCode": null,
- "city": null,
- "addressLine": null
}, - "company": null,
- "contactPerson": {
- "firstName": null,
- "lastName": null,
- "fullName": null,
- "phoneNumber": null,
- "email": null
}
}, - "availableShippingMethods": { },
- "shipmentEstimation": { },
- "shipment": { }
}, - "tracking": { },
- "billing": { },
- "issue": { },
- "retailer": {
- "id": null,
- "name": "string",
- "email": "user@example.com",
- "phone_number": "string",
- "city": "string",
- "business": {
- "user_first_name": "string",
- "user_last_name": "string",
- "vat_number": null,
- "tax_number": null,
- "country": {
- "iso_code": "string"
}
}
}, - "rejection": { },
- "meta": { }
}, - "relationships": {
- "orderItems": {
- "data": [
- {
- "id": "497f6eca-6276-4993-bfeb-53cbbbba6f08",
- "type": "string",
- "meta": { }
}
]
}, - "orderShipping": {
- "data": [
- {
- "id": "497f6eca-6276-4993-bfeb-53cbbbba6f08",
- "type": "string",
- "meta": { }
}
]
}
}
}, - "included": [
- {
- "type": "string",
- "id": "497f6eca-6276-4993-bfeb-53cbbbba6f08",
- "attributes": {
- "shippingMethod": { },
- "isAddingTrackingInformationPostponed": null,
- "stockOrigin": { }
}
}
]
}Returns a list of master orders (internal and external orders included)
| fields[orders] | string Choose only specific attributes from order payload |
| fields[order-shipping] | string Choose only specific attributes from order payload |
| include | string Enum: "orderItems" "orderShipping" Include related resources in the response |
| page[limit] | integer |
| page[offset] | integer |
| filter[priority_key] | string Enum: "on_time" "overdue" "close_deadline" Request masters orders for a specific priority category |
| filter[status_key] | string Enum: "created" "prepared" "shipped" "delivered" "completed" "cancelled" "pending_validation" "reception_refused" Request master orders for a specific status category |
| filter[search_term] | string Request master orders based on free text search e.g. product, brand, retailer etc. |
| filter[brand_cancellation_key] | string Enum: "PRODUCT_OUT_OF_STOCK" "BRAND_HAS_EXCLUSIVE_DISTRIBUTOR_IN_THE_REGION" "BRAND_CANNOT_DELIVER_TO_THE_AREA" "RETAILER_AGREED_TO_DO_CHANGES_TO_ORDER" "BRAND_SHIPPING_FEES_VIA_CUSTOM" "OTHER" "REJECTED_VIA_EXTERNAL_INTEGRATION" "BRAND_SHIPPING_FEES_VIA_ANKORSTORE" "PAYMENT_ISSUES_WITH_RETAILER" "PREPARATION_TIME_TOO_HIGH" "BUYER_NOT_A_RETAILER" "PURCHASE_NOT_FOR_RESALE" "RETAILER_NOT_GOOD_FIT_FOR_BRAND" "RETAILER_VAT_NUMBER_MISSING" "ORDER_ITEMS_PRICES_INCORRECT" "BRAND_ALREADY_HAS_CUSTOMER_IN_THE_AREA" Request master orders for a specific brand cancellation reason |
| filter[order_type] | string Enum: "internal" "external" Request master orders of a specific type |
| sort | string Default: "-created_at" Enum: "created_at" "-created_at" "status" "-status" Specify attribute(s) to sort by |
| Accept | string Default: application/vnd.api+json application/vnd.api+json |
{- "jsonapi": {
- "version": "string",
- "meta": { }
}, - "data": [
- {
- "type": "string",
- "id": "497f6eca-6276-4993-bfeb-53cbbbba6f08",
- "attributes": {
- "type": "internal",
- "createdAt": "2019-08-24T14:15:22Z",
- "reference": "string",
- "masterStatus": "created",
- "status": {
- "name": "string",
- "shortTitle": "string",
- "title": null,
- "details": null,
- "subStatus": null
}, - "internalId": null,
- "totals": { },
- "brand": {
- "id": "497f6eca-6276-4993-bfeb-53cbbbba6f08",
- "name": "string",
- "link": "string",
- "display_address": {
- "city": "string"
}
}, - "updates": { },
- "taxes": { },
- "priorityTag": { },
- "vat": { },
- "deadlines": { },
- "synchronizations": { },
- "invoices": { },
- "shipping": {
- "shippingProvider": null,
- "isInternational": true,
- "hasShippingLabelGenerationError": true,
- "hasRevertedShippingLabels": true,
- "fees": { },
- "shippingAddress": {
- "address": {
- "countryCode": null,
- "postalCode": null,
- "city": null,
- "addressLine": null
}, - "company": null,
- "contactPerson": {
- "firstName": null,
- "lastName": null,
- "fullName": null,
- "phoneNumber": null,
- "email": null
}
}, - "availableShippingMethods": { },
- "shipmentEstimation": { },
- "shipment": { }
}, - "tracking": { },
- "billing": { },
- "issue": { },
- "retailer": {
- "id": null,
- "name": "string",
- "email": "user@example.com",
- "phone_number": "string",
- "city": "string",
- "business": {
- "user_first_name": "string",
- "user_last_name": "string",
- "vat_number": null,
- "tax_number": null,
- "country": {
- "iso_code": "string"
}
}
}, - "rejection": { },
- "meta": { }
}, - "relationships": {
- "orderItems": {
- "data": [
- {
- "id": "497f6eca-6276-4993-bfeb-53cbbbba6f08",
- "type": "string",
- "meta": { }
}
]
}, - "orderShipping": {
- "data": [
- {
- "id": "497f6eca-6276-4993-bfeb-53cbbbba6f08",
- "type": "string",
- "meta": { }
}
]
}
}
}
], - "included": [
- {
- "type": "string",
- "id": "497f6eca-6276-4993-bfeb-53cbbbba6f08",
- "attributes": {
- "shippingMethod": { },
- "isAddingTrackingInformationPostponed": null,
- "stockOrigin": { }
}
}
]
}Returns an order by given UUID
| id required | string <uuid> UUID of the requested resource |
| include | string Enum: "orderItems" "orderShipping" Include related resources in the response |
| fields[orders] | string Choose only specific attributes from order payload |
| fields[order-shipping] | string Choose only specific attributes from order payload |
| Accept | string Default: application/vnd.api+json application/vnd.api+json |
{- "jsonapi": {
- "version": "string",
- "meta": { }
}, - "data": {
- "type": "string",
- "id": "497f6eca-6276-4993-bfeb-53cbbbba6f08",
- "attributes": {
- "type": "internal",
- "createdAt": "2019-08-24T14:15:22Z",
- "reference": "string",
- "masterStatus": "created",
- "status": {
- "name": "string",
- "shortTitle": "string",
- "title": null,
- "details": null,
- "subStatus": null
}, - "internalId": null,
- "totals": { },
- "brand": {
- "id": "497f6eca-6276-4993-bfeb-53cbbbba6f08",
- "name": "string",
- "link": "string",
- "display_address": {
- "city": "string"
}
}, - "updates": { },
- "taxes": { },
- "priorityTag": { },
- "vat": { },
- "deadlines": { },
- "synchronizations": { },
- "invoices": { },
- "shipping": {
- "shippingProvider": null,
- "isInternational": true,
- "hasShippingLabelGenerationError": true,
- "hasRevertedShippingLabels": true,
- "fees": { },
- "shippingAddress": {
- "address": {
- "countryCode": null,
- "postalCode": null,
- "city": null,
- "addressLine": null
}, - "company": null,
- "contactPerson": {
- "firstName": null,
- "lastName": null,
- "fullName": null,
- "phoneNumber": null,
- "email": null
}
}, - "availableShippingMethods": { },
- "shipmentEstimation": { },
- "shipment": { }
}, - "tracking": { },
- "billing": { },
- "issue": { },
- "retailer": {
- "id": null,
- "name": "string",
- "email": "user@example.com",
- "phone_number": "string",
- "city": "string",
- "business": {
- "user_first_name": "string",
- "user_last_name": "string",
- "vat_number": null,
- "tax_number": null,
- "country": {
- "iso_code": "string"
}
}
}, - "rejection": { },
- "meta": { }
}, - "relationships": {
- "orderItems": {
- "data": [
- {
- "id": "497f6eca-6276-4993-bfeb-53cbbbba6f08",
- "type": "string",
- "meta": { }
}
]
}, - "orderShipping": {
- "data": [
- {
- "id": "497f6eca-6276-4993-bfeb-53cbbbba6f08",
- "type": "string",
- "meta": { }
}
]
}
}
}, - "included": [
- {
- "type": "string",
- "id": "497f6eca-6276-4993-bfeb-53cbbbba6f08",
- "attributes": {
- "shippingMethod": { },
- "isAddingTrackingInformationPostponed": null,
- "stockOrigin": { }
}
}
]
}Downloads exported orders for the currently authenticated brand
| export_year | integer Year for which orders to be exported |
| export_month | integer Month for which orders to be exported |
| export_format | string Enum: "csv" "xlsx" Export format i.e. csv, xlsx |
| status_key | integer Enum: "created" "prepared" "shipped" "delivered" "completed" "cancelled" "pending_validation" "reception_refused" |
| Accept | string application/vnd.api+json |
{- "jsonapi": {
- "version": "1.0"
}, - "errors": [
- {
- "detail": "Unauthorized",
- "status": "401"
}
]
}Returns a list of order items belonging to the order with given UUID
| id required | string <uuid> UUID of the requested resource |
| include | string Value: "orderedProduct" Include related resources in the response |
| Accept | string Default: application/vnd.api+json application/vnd.api+json |
{- "jsonapi": {
- "version": "string",
- "meta": { }
}, - "data": [
- {
- "type": "string",
- "id": "497f6eca-6276-4993-bfeb-53cbbbba6f08",
- "attributes": {
- "internalId": null,
- "unitQuantity": 0,
- "batchQuantity": 0,
- "unitPrice": { },
- "totalPrice": { }
}, - "relationships": {
- "orderedProduct": {
- "id": "497f6eca-6276-4993-bfeb-53cbbbba6f08",
- "type": "string",
- "meta": { }
}
}
}
], - "included": [
- {
- "type": "string",
- "id": "497f6eca-6276-4993-bfeb-53cbbbba6f08",
- "attributes": {
- "fulfillableId": null,
- "sku": "string",
- "name": "string",
- "pageUrl": "string",
- "images": [
- "string"
], - "options": [
- {
- "name": "string",
- "value": null
}
]
}
}
]
}Returns generic platform config parameters used for all users
| Accept | string Default: application/vnd.api+json application/vnd.api+json |
{- "data": {
- "type": "string",
- "id": "497f6eca-6276-4993-bfeb-53cbbbba6f08",
- "attributes": {
- "cdn": "string",
- "stripePublicKey": "string"
}
}, - "jsonapi": {
- "version": "string",
- "meta": { }
}
}Get product prices and discounts from product ids
| filter[id] | string lists of product ids separated with a coma |
{- "jsonapi": {
- "version": "1.0"
}, - "data": [
- {
- "type": "product-prices",
- "id": "3231389",
- "attributes": {
- "originalWholesalePrice": {
- "currency": "EUR",
- "amount": 1010
}, - "wholesalePrice": {
- "currency": "EUR",
- "amount": 1010
}, - "retailPrice": {
- "currency": "EUR",
- "amount": 2000
}, - "discountRate": 0
}
}, - {
- "type": "product-prices",
- "id": "3231391",
- "attributes": {
- "originalWholesalePrice": {
- "currency": "GBP",
- "amount": 674
}, - "wholesalePrice": {
- "currency": "GBP",
- "amount": 674
}, - "retailPrice": {
- "currency": "GBP",
- "amount": 899
}, - "discountRate": 0
}
}, - {
- "type": "product-prices",
- "id": "3231397",
- "attributes": {
- "originalWholesalePrice": {
- "currency": "GBP",
- "amount": 419
}, - "wholesalePrice": {
- "currency": "GBP",
- "amount": 419
}, - "retailPrice": {
- "currency": "GBP",
- "amount": 599
}, - "discountRate": 0
}
}
]
}Check shop url based on platform chosen
| Accept | string Default: application/vnd.api+json application/vnd.api+json |
object | |||||||||||
| |||||||||||
{- "data": {
- "type": "platform-verifications",
}
}{- "data": {
- "type": "string",
- "id": "497f6eca-6276-4993-bfeb-53cbbbba6f08",
- "attributes": {
- "platformUrl": "string",
- "authenticationUrl": "string",
- "required": null
}
}
}Saves the user email in the retailer_leads table, returns a redirection to login path if a user with the provided email already exists in the user table
| Accept | string application/vnd.api+json |
string <= 255 characters |
{- "email": "test@ankorstore.com"
}{- "jsonapi": {
- "version": "1.0"
}, - "errors": [
- {
- "detail": "Not Acceptable",
- "status": "406"
}
]
}Returns a list of available Rutter Integrations for the currently authenticated brand
| Accept | string Default: application/vnd.api+json application/vnd.api+json |
{- "data": [
- {
- "type": "rutter-integrations",
- "id": "123",
- "attributes": {
- "accessToken": "937c5af4-d0a4-46b5-820d-300e75d982a5",
- "platformName": "SHOPIFY"
}
}
], - "jsonapi": {
- "version": "string",
- "meta": { }
}
}Creates a new Rutter integration for the currently authenticated brand
| Accept | string Default: application/vnd.api+json application/vnd.api+json |
| publicToken required | string Public token received from Rutter callback (https://docs.rutterapi.com/docs/javascript-quickstart#open-the-rutter-popup) |
| orderTags | Array of strings (Rutter Order Tags) <= 5 items unique [ items [ 1 .. 36 ] characters ] List of order tags to be added to each new order synchronized to external Rutter platform |
{- "publicToken": "937c5af4-d0a4-46b5-820d-300e75d982a5",
- "orderTags": [
- "Ankorstore",
- "External"
]
}{- "data": {
- "type": "rutter-integrations",
- "id": "123",
- "attributes": {
- "accessToken": "937c5af4-d0a4-46b5-820d-300e75d982a5",
- "platformName": "SHOPIFY"
}
}, - "jsonapi": {
- "version": "string",
- "meta": { }
}
}Updates the Rutter integration with given ID
| id required | string Example: 123 ID of the target Rutter Integration |
| Accept | string Default: application/vnd.api+json application/vnd.api+json |
required | object | ||||||||||||||
| |||||||||||||||
{- "data": {
- "type": "rutter-integrations",
- "id": "123",
- "attributes": {
- "orderTags": [
- "Ankorstore",
- "order"
]
}
}
}{- "data": {
- "type": "rutter-integrations",
- "id": "123",
- "attributes": {
- "accessToken": "937c5af4-d0a4-46b5-820d-300e75d982a5",
- "platformName": "SHOPIFY"
}
}, - "jsonapi": {
- "version": "string",
- "meta": { }
}
}Deletes Rutter integration with given ID
| id required | string Example: 123 ID of the target Rutter Integration |
| Accept | string Default: application/vnd.api+json application/vnd.api+json |
{- "jsonapi": {
- "version": "1.0"
}, - "errors": [
- {
- "detail": "Unauthorized",
- "status": "401"
}
]
}Create a Shopify integration using User's provided Admin Access Token and API Secret.
| platformUrl required | string Shop URL |
| adminAccessToken required | string Admin Access Token |
| apiSecretKey required | string API Secret Key |
{- "adminAccessToken": "shpat_123457890abcdef",
- "apiSecretKey": "this-is-a-secret-key"
}{- "data": {
- "type": "rutter-integrations",
- "id": "123",
- "attributes": {
- "accessToken": "937c5af4-d0a4-46b5-820d-300e75d982a5",
- "platformName": "SHOPIFY"
}
}, - "jsonapi": {
- "version": "string",
- "meta": { }
}
}{- "jsonapi": {
- "version": "1.0"
}, - "data": [
- {
- "type": "segments",
- "id": "1ed5ed69-3b3b-675a-9c3d-0242ac12000b",
- "attributes": {
- "name": "country_FR"
}
}, - {
- "type": "segments",
- "id": "1ed5ed69-4694-6070-a1c3-0242ac12000b",
- "attributes": {
- "name": "core_country"
}
}, - {
- "type": "segments",
- "id": "1ed5ed69-4bd6-688a-85f8-0242ac12000b",
- "attributes": {
- "name": "retailer"
}
}
]
}Create a new label
| fulfillmentOrderReference required | string^O_[A-Z0-9]+_[0-9]+$ Our order reference. |
| containerReference required | string^O_[A-Z0-9]+_[0-9]+-[0-9]+$ The container reference that uniquely identify the box on which the label is sticked |
| shipmentReference | string The fulfillment center internal shipment reference |
| service required | string Enum: "AKS_PAR_COG" "AKS_PAR_AKS" Format: AKS_{GEOGRAPHICAL-CLUSTER}_{LAST-MILE-CARRIER} |
| width required | integer > 0 cm |
| height required | integer > 0 cm |
| length required | integer > 0 cm |
| weight required | integer > 0 g |
{- "fulfillmentOrderReference": "O_F5SVAPCQ_722",
- "containerReference": "O_F5SVAPCQ_722-1",
- "shipmentReference": "BL00035904",
- "service": "AKS_PAR_AKS",
- "width": 20,
- "height": 30,
- "length": 17,
- "weight": 3000
}{- "data": {
- "type": "shipping-labels",
- "id": "90f63c5e-8b23-4505-9124-fa4bc09d935c",
- "attributes": {
- "containerReference": "O_F5SVAPCQ_722-1",
- "format": "ZPL",
- "encoding": "base64",
- "data": "XlhBIF5DSTI4IF5MSDE4LDggXlBPTiBeRlQ2ODgsMTI4NiBeQTBJLDE4LDBeRkRTb3VtaXMgYXV4IENHVgpjb25zdWx0YWJsZXMgc3VyIHd3dy5kcGQuZnIg4oCTIF5GUyBeRlQ2ODgsMTI3MiBeQTBJLDE4LDBeRkREUEQgRnJhbmNlIFNBUyDigJMKQ2FwaXRhbCBzb2NpYWwgOiAxOCA1MDAgMDAwIOKCrCDigJMgXkZTIF5GVDY4OCwxMjU5IF5BMEksMTgsMF5GRFNpw6hnZSBzb2NpYWwgOgoxMSBydWUgUmVuw6kuSmFjcXVlcyA5MjEzMCBJc3N5LUxlcy1Nb3VsaW5lYXV4IOKAkyBeRlMgXkZUNjg4LDEyNDUKXkEwSSwxOCwwXkZENDQ0NDIwODMwIFJDUyBOQU5URVJSRSDigJMgTsKwVFZBIEZSMjQ0NDQ0MjA4MzAgXkZTIF5GVDkzLDYzNwpeR0IzMDEsNTI1LDUsQl5GUyBeRlQ0MTUsNjM0IF5HQjEzOSw1MjAsMixCXkZTIF5GVDY0OSw2MzMgXkdCNTIsNTE4LDEsQl5GUwogXkZUMTI5LDYxNyBeQTBCLDE4LDBeRkREZXN0aW5hdGFpcmVeRlMgXkZUMTI5LDQ1NgpeQTBCLDE2LDBeRkQrMzM2Nzc3NTcyNTReRlMgXkZUMjg0LDYxNiBeQTBCLDIyLDBeRkQyMCBSVEUgREUgTEEgUExBTkNIRQpEJ0FVWkVeRlMgXkZUMzM5LDYxNiBeQTBCLDY3LDBeRkRGLTEyMzQ1XkZTIF5GVDM3NCw2MTYKXkEwQiwzNiwwXkZEVEVTVF5GUyBeRlQ0MzksNjE3IF5BMEIsMTgsMF5GREV4cGVkaXRldXJeRlMgXkZUNDY2LDYxNwpeQTBCLDIwLDBeRkRHRU9ESVMgTE9HSVNUSUNTIEdFT0RJUyBMT0dJU1RJQ1NeRlMgXkZUMzM5LDQ1IF5BMEksMzYsMF5GRDIzOAoxMjc4ODA5NzUzXkZTIF5GVDc0NSw0NSBeQTBJLDM2LDBeRkQyMzggMTI3ODgwOTc1M15GUyBeRlQyMjYsODU4Cl5BMEIsNDgsMF5GRDE1XkZTIF5GVDI1MSw5NzkgXkdCMCwxNDMsNzEsQl5GUyBeRlIgXkZUMzA2LDkyNwpeQTBCLDU2LDBeRkRCXkZTIF5GVDM3MSw5MTggXkEwQiw0MCwwXkZEMl5GUyBeRlQzOTIsOTc5IF5HQjAsNzEsNTMsQl5GUwpeRlQzOTIsNzUwIF5HQjAsNzEsNTMsQl5GUyBeRlQxNzEsMTAyMiBeR0I1MzIsMzgzLDYsQl5GUyBeRlQyNDQsMTAxNgpeR0IwLDM3MSw2LEJeRlMgXkZUNDM4LDg2MCBeQTBCLDczLDBeRkQ4N15GUyBeRlQ2ODcsMTAwMQpeQTBCLDI0LDBeRkQ4NzM1MF5GUyBeRlQ2ODcsODczIF5BMEIsMjQsMF5GRDIsNTkga2deRlMgXkZUNjg4LDc1MwpeQTBCLDI0LDBeRkQxNy4wNS4yM15GUyBeRlQ1ODEsNjIyIF5BMEIsMjQsMF5GRENvbGlzXkZTIF5GVDU1MiwyMjIKXkdCMzQsMTA4LDIsQl5GUyBeRlQ1ODAsNTIzIF5BMEIsMjksMF5GRDI1MCAyMzggMTI3ODgwOTc1NDMxXkZTIF5GVDU3NywyMTgKXkEwQiwyMiwwXkZETmIuOl5GUyBeRlQ1NzYsMTU1IF5BMEIsMjEsMF5GRDEvMV5GUyBeRlQ2MzcsNjIxCl5BMEIsMjEsMF5GRFJlZjpeRlMgXkZUNDksMTIzOCBeQTBCLDE4LDBeRkREUEQtRXRhYmxpc3NlbWVudCAyMzheRlMKXkZUNjcsMTIzNiBeQTBCLDE4LDBeRkQ0NDQgNDIwIDgzMCAwMTAwMF5GUyBeRlQ4NSwxMjM4IF5BMEIsMTgsMF5GRDI2MjMwClZhbGF1cmllXkZTIF5GVDEwMywxMjM4IF5BMEIsMTgsMF5GREYtMTIzNDUgVEVTVF5GUyBeRlQxMzgsODQwCl5BMEIsNTIsMF5GRFRFU1ReRlMgXkZUNDkzLDYxNyBeQTBCLDIyLDBeRkRBTEwuIERFUyBDSEVORVNeRlMgXkZUNTI1LDYxNwpeQTBCLDIyLDBeRkRGLTAxMTUwIFNBSU5ULVZVTEJBU15GUyBeRlQ2MzgsNTQxIF5BMEIsMjQsMF5GREJMMDAwMzU5MDReRlMKXkZUMTI5LDQ5NyBeQTBCLDE4LDBeRkRUZWwuOl5GUyBeRlQ0MzksNTEzIF5BMEIsMTgsMF5GRFRlbC46XkZTIF5GVDE4Myw2MTkKXkEwQiwyMiwwXkZETEEgTUFMTEUgQVVYIEpPVUVUU15GUyBeRlQyMzQsNjE5IF5BMEIsMjIsMF5GREplc3NpY2EgU3Rvc2lrXkZTCl5GVDcxMSwxMjgzCl5HRkEsMTMyMywxMzIzLDksMDAwMDAwMDAwMDAwMDAwMDAwMDAwM0ZGRkZGRkZGMDAwMDAwMDAwM0ZGRkZGRkZGMDAwMDAwMDAwMwpGRkZGRkZGRjAwMDAwMDAwMDNGRkZGRkZGRjAwMDAwMDAwMDNGRkZGRkZGRjAwMDAwMDAwMDNGRkZGRkZGRjgwMDAwMDAwMDAwMDcKRTAwMUY4MDAwMDAwMDAwMDA3QzAwMUY4MDAwMDAwMDAwMDBGQzAwMUY4MDAwMDAwMDAwMDBGQzAwMUY4MDAwMDAwMDAwMDBGQzAwCjFGODAwMDAwMDAwMDAwRkMwMDFGODAwMDAwMDAwMDAwN0UwMDNGODAwMDAwMDAwMDAwN0UwMDNGMDAwMDAwMDAwMDAwN0YwMDdGMAowMDAwMDAwMDAwMDdGQzFGRjAwMDAwMDAwMDAwMDNGRkZGRTAwMDAwMDAwMDAwMDNGRkZGRTAwMDAwMDAwMDAwMDFGRkZGQzAwMDAKMDAwMDAwMDAwRkZGRjgwMDAwMDAwMDAwMDAwN0ZGRjAwMDAwMDAwMDAwMDAwMUZGQzAwMDAwMDAwMDAwMDAwMDNFMDAwMDAwMDAwCjAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAzRTAwMDAwMDAwMDAwMDAwMDFGRkMwMDAwMDAwMDAwMDAwMDdGRkYwMDAwMDAwMDAwMAowMDBGRkZGODAwMDAwMDAwMDAwMDFGRkZGQzAwMDAwMDAwMDAwMDNGRkZGRTAwMDAwMDAwMDAwMDNGRkZGRTAwMDAwMDAwMDAwMDcKRkMxRkYwMDAwMDAwMDAwMDA3RjAwN0YwMDAwMDAwMDAwMDA3RTAwM0YwMDAwMDAwMDAwMDA3RTAwM0Y4MDAwMDAwMDAwMDBGRTAwCjFGODAwMDAwMDAwMDAwRkMwMDFGODAwMDAwMDAwMDAwRkMwMDFGODAwMDAwMDAwMDAwRkMwMDAwMDAwMDAwMDAwMDAwRkMwMDAwMAowMDAwMDAwMDAwMDdFMDAwMDAwMDAwMDAwMDAwMDdGRkZGRkZGODAwMDAwMDAwMDdGRkZGRkZGQzAwMDAwMDAwMDdGRkZGRkZGQzAKMDAwMDAwMDA3RkZGRkZGRkMwMDAwMDAwMDAzRkZGRkZGRkMwMDAwMDAwMDAzRkZGRkZGRkMwMDAwMDAwMDAxRkZGRkZGRjgwMDAwCjAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwM0ZGRkZGRkZGMDAwMDAwMDAwMwpGRkZGRkZGRjAwMDAwMDAwMDNGRkZGRkZGRjAwMDAwMDAwMDNGRkZGRkZGRjAwMDAwMDAwMDNGRkZGRkZGRjAwMDAwMDAwMDNGRkYKRkZGRkY4MDAwMDAwMDAwMDA3RTAwMUY4MDAwMDAwMDAwMDA3QzAwMUY4MDAwMDAwMDAwMDBGQzAwMUY4MDAwMDAwMDAwMDBGQzAwCjFGODAwMDAwMDAwMDAwRkMwMDFGODAwMDAwMDAwMDAwRkMwMDFGODAwMDAwMDAwMDAwN0UwMDNGMDAwMDAwMDAwMDAwN0UwMDNGMAowMDAwMDAwMDAwMDdGMDA3RjAwMDAwMDAwMDAwMDdGQzFGRjAwMDAwMDAwMDAwMDNGRkZGRTAwMDAwMDAwMDAwMDNGRkZGRTAwMDAKMDAwMDAwMDAxRkZGRkMwMDAwMDAwMDAwMDAwRkZGRjgwMDAwMDAwMDAwMDAwN0ZGRjAwMDAwMDAwMDAwMDAwMUZGQzAwMDAwMDAwCjAwMDAwMDAzRTAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMAowMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAKMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwCjAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMAowMDAwMDAwMDAwRkZGRkZGRjAwMDAwMDAwMDAwRkZGRkZGRjgwMDAwMDAwMDIwRkZGRkZGRkMwMDAwMDAwMDMwN0ZGRkZGRkMwMDAKMDAwMDA3MDNGRkZGRkZFMDAwMDAwMDA3ODNGRkZGRkZGMDAwMDAwMDBGQzFGRkZGRkZGMDAwMDAwMDFGQzFGRkZGRkZGODAwMDAwCjAxRkUwRkZGRkZGRjgwMDAwMDAzRkUwN0ZGRkZGRkMwMDAwMDAzRkYwN0ZGRkZGRkUwMDAwMDA3RkYwM0ZGRkZGRkUwMDAwMDA3RgpGODNGRkZGRkZGMDAwMDAwRkZGQzFGRkZGRkZGMDAwMDAwRkZGQzFGRkZGRkZGODAwMDAxRkZGRTBGRkZGRkZGODAwMDAxRkZGRTAKN0ZGRkZGRkMwMDAwM0ZGRkYwN0ZGRkZGRkUwMDAwN0ZGRkYwN0ZGRkZGRkUwMDAwN0ZGRkY4RkZGRkZGRkYwMDAwRkZGRkZGRkZGCkZGRkZGMDAwMEZGRkZGRkZGRkZGRkZGODAwMUZGRkZGRkZGRkZGRkZGQzAwMUZGRkZGRkZGRkZGRkZGQzAwM0ZGRkZGRkZGRkZGRgpGRkUwMDNGRkZGRkZGRkZGRkZGRkUwMDdGRkZGRkZFMDAwMDAwRkYwMDdGRkZGRkZDMDAwMDAwN0YwMDdGRkZGRkY4MDAwMDAwRkYKMDA3RkZGRkZGODAwMDAwMEZGMDAzRkZGRkZGMDNGRkZGRkZFMDAzRkZGRkZGMDdGRkZGRkZFMDAxRkZGRkZFMEZGRkZGRkZDMDAwCkZGRkZGRTBGRkZGRkZGODAwMEZGRkZGQzFGRkZGRkZGODAwMDdGRkZGODFGRkZGRkZGMDAwMDdGRkZGODNGRkZGRkZGMDAwMDNGRgpGRjA3RkZGRkZGRTAwMDAzRkZGRjA3RkZGRkZGQzAwMDAxRkZGRTBGRkZGRkZGQzAwMDAxRkZGQzBGRkZGRkZGODAwMDAwRkZGQzEKRkZGRkZGRjgwMDAwMEZGRjgxRkZGRkZGRjAwMDAwMDdGRjgzRkZGRkZGRTAwMDAwMDNGRjA3RkZGRkZGRTAwMDAwMDNGRjA3RkZGCkZGRkMwMDAwMDAxRkUwRkZGRkZGRkMwMDAwMDAxRkMwRkZGRkZGRjgwMDAwMDAwRkMxRkZGRkZGRjgwMDAwMDAwRjgxRkZGRkZGRgowMDAwMDAwMDc4M0ZGRkZGRkUwMDAwMDAwMDcwN0ZGRkZGRkUwMDAwMDAwMDMwN0ZGRkZGRkMwMDAwMDAwMDAwRkZGRkZGRkMwMDAKMDAwMDAwMEZGRkZGRkY4MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAgXkJZMywzLDEwIF5GVDE3MywxMjE2Cl5CMk4sMTg0LE4sTixOXkZEMjUwMjM4MTI3ODgwOTc1NDMxXkZTIF5CWTMsMiwxMCBeRlQ2MzEsOTMyCl5CQ0IsMTg0LE4sTixOLEFeRkQwODcxXkZTIF5CWTIsMywxMCBeRlQxMDMsMTEyIF5CQ04sMjgsTixOLE4sQV5GRExBIE1BTExFCgpBVVheRlMgXkZUMTczLDEyMTYgXkdCNTEyLDAsMSxCXkZTIF5GVDE3MywxMDMzIF5HQjUxMiwwLDEsQl5GUwpeWFo="
}
}, - "jsonapi": {
- "version": "1.0"
}
}Returns a list of testimonials
| filter[countryId] | Array of arrays Filter testimonials by multiple country ids |
| filter[country][isoCode] | Array of arrays Filter testimonials by multiple country iso codes |
| page[size] | string A limit on the number of resources to be returned, i.e. the per-page amount. |
| page[after] | string A cursor for use in pagination. after is a resource ID that defines your place in the list. For instance, if you make a paged request and receive 100 resources, ending with resource with id foo, your subsequent call can include page[after]=foo in order to fetch the next page of the list. |
| sort | string Enum: "createdAt" "-createdAt" |
| Accept | string application/vnd.api+json |
{- "meta": {
- "page": {
- "from": "string",
- "hasMore": true,
- "perPage": 0,
- "to": "string"
}
}, - "jsonapi": {
- "version": "string",
- "meta": { }
}, - "links": {
- "first": "string",
- "prev": "string"
}, - "data": [
- {
- "type": "testimonials",
- "id": "1ed4fbbe-e2fa-6678-81db-0242ac130005",
- "attributes": {
- "body": "Ratione hic laudantium provident sit nisi est provident tempora. Magni nam ipsum ab. Ipsam numquam at autem consequatur. Ducimus non illum repellendus quia.",
- "authorName": "Célina Lejeune",
- "authorShopName": "Chretien Leblanc SAS",
- "authorImage": "/testimonials/images/picture.jpg",
- "country": "FR"
}
}
]
}Adds a new webhook subscription to the existing application
required | object | ||||||||||||||||||||||||||
| |||||||||||||||||||||||||||
{- "data": {
- "type": "webhook-subscription",
- "relationships": {
- "applications": {
- "data": {
- "type": "string",
- "id": "string"
}
}
}
}
}{- "data": [
- {
- "type": "string",
- "id": "497f6eca-6276-4993-bfeb-53cbbbba6f08",
- "attributes": {
- "events": [
- "string"
], - "signingSecret": "string"
}
}
], - "jsonapi": {
- "version": "string",
- "meta": { }
}
}Update application subscription with given ID
| webhookSubscriptionId required | string Webhook Subscription ID |
| Accept | string Default: application/vnd.api+json application/vnd.api+json |
required | object | ||||||||||||
| |||||||||||||
| required | any | ||||||||||||
{- "data": {
- "type": "string",
- "id": "string",
}, - "required": null
}{- "data": [
- {
- "type": "string",
- "id": "497f6eca-6276-4993-bfeb-53cbbbba6f08",
- "attributes": {
- "events": [
- "string"
], - "signingSecret": "string"
}
}
], - "jsonapi": {
- "version": "string",
- "meta": { }
}
}Delete application webhook subscription by given ID
| webhookSubscriptionId required | string Webhook Subscription ID |
| Accept | string Default: application/vnd.api+json application/vnd.api+json |
{- "jsonapi": {
- "version": "1.0"
}, - "errors": [
- {
- "detail": "Unauthorized",
- "status": "401"
}
]
}{- "data": [
- {
- "type": "webhook-subscriptions/events",
- "id": "order.brand_created"
}, - {
- "type": "webhook-subscriptions/events",
- "id": "order.brand_accepted"
}, - {
- "type": "webhook-subscriptions/events",
- "id": "order.shipping_labels_generated"
}, - {
- "type": "webhook-subscriptions/events",
- "id": "order.shipped"
}, - {
- "type": "webhook-subscriptions/events",
- "id": "order.shipment_received"
}, - {
- "type": "webhook-subscriptions/events",
- "id": "order.shipment_refused"
}, - {
- "type": "webhook-subscriptions/events",
- "id": "order.brand_paid"
}, - {
- "type": "webhook-subscriptions/events",
- "id": "order.cancelled"
}
]
}Returns a list of the latest currency rates
| Accept | string Default: application/vnd.api+json application/vnd.api+json |
{- "data": [
- {
- "type": "string",
- "id": "497f6eca-6276-4993-bfeb-53cbbbba6f08",
- "attributes": {
- "fromCurrency": "string",
- "toCurrency": "string",
- "date": "2019-08-24",
- "rate": 0
}
}
], - "jsonapi": {
- "version": "string",
- "meta": { }
}
}Here you will find information about the order resource and it's sub-resources. If you need further information please refer to the API specification.
When retrieving the individual order via the API, you may find it lacking in certain information such as retailer, order items etc.
For every endpoint that returns the order resource you may pass an ?include= query parameter that will return extra information inside the included root level object.
The supported resources to include are retailer, billingItems, orderItems, orderItems.productOption, orderItems.productOption.product, orderItems.productVariant and orderItems.productVariant.product.
Please note that, if you include orderItems.productOption you do not need to specify orderItems separately. It will be automatically included.
As an example, to include all data possible you would do ?include=retailer,billingItems,orderItems.productOption.product
If the field contains no data, it will be null. The only exception currently to this is shippingOverview which can be viewed below. The fields listed below are not all of the fields, please see the API specification for all of them.
statusThe status field is the current state of the order, below is a table that describes each step:
| Status | Description |
|---|---|
ankor_confirmed |
The order has been confirmed by Ankorstore and now a decision can be made whether to accept or reject this order. |
rejected |
The order has been rejected, Ankorstore needs to approve this rejection. If it does, the status will moved to cancelled. |
brand_confirmed |
The order has been accepted. it now needs to be shipped to the retailer. |
shipping_labels_generated |
The order has been shipped with Ankorstore and the labels have been generated - these are now available in the order resource data within shippingOverview. |
fulfillment_requested |
The brand has chosen to fulfill the order, or the order was automatically fulfilled. The order will remain in this state until it has been fulfilled by the fulfillment provider. |
shipped |
The order has either been picked up by an Ankorstore carrier (e.g UPS) or the brand has chosen to ship with their own carrier. |
received |
The retailer has received the package, if shipped with Ankorstore this is automatic from the carrier otherwise for custom shipping the retailer has to manually acknowledge this. |
reception_refused |
The retailer has refused the reception of the package - if Ankorstore approves the reason the order will move to cancelled. The status can also move to received if the retailers issues have been resolved by the brand or Ankorstore. |
invoiced |
The final invoice has been issued for this order. |
brand_paid |
The brand has been paid in full for this order. |
cancelled |
The order is cancelled. |
flowchart LR
ankor_confirmed -- accept order -->brand_confirmed
ankor_confirmed -- reject order -->rejected-->cancelled
brand_confirmed -- shipping method: custom -->shipped
brand_confirmed -- shipping method: ankorstore -->shipping_labels_generated
brand_confirmed -- shipping method: fulfillment -->fulfillment_requested
shipping_labels_generated-->shipped
fulfillment_requested-->shipped
shipped-->reception_refused-->cancelled
shipped-->received-->invoiced-->brand_paid
reception_refused-->received
The above diagram shows what status the order will be in based on the actions performed in the API. The most confusing may be the shipping flow. To reach the shipped or shipping_labels_generated status, a shipping quote must always be generated and then confirmed. Please see shipping an order for further details.
shippingMethodWhat shipment method has been chosen for this order. Either ankorstore for using Ankorstores shipping service,
custom for using the brand's own carrier or fulfillment if the order is shipped from a fulfillment centre
This field is null when no choice has yet been made.
shippingOverviewThe object shippingOverview is only available when retrieving a single order. This data is not available when retrieving a list of orders.
submittedAtThis is the date the retailer submitted their whole order.
shippedAtThis is when the brand shipped the order.
brandPaidAtThis is when Ankorstore pays the brand, if it is null then payment is still pending.
When a brand receives a new order, it arrives in the ankor_confirmed status. The brand can then perform certain transitions using a single endpoint:
POST /api/v1/orders/{id}/-actions/transition
This endpoint will accept different payloads depending on what transition is provided. This page will detail each transition that may be performed and when.
All the implementation details and fields can be found in the endpoint documentation.
Once an order is accepted or rejected it cannot be reversed. If this was a mistake the brand can contact Ankorstore through the normal channels to revert the order to ankor_confirmed.
If an order is rejected you need to provide a detailed reject reason. Otherwise, after the order is accepted the brand then needs to ship it. Please see shipping an order for further details.
Can be performed when the order is in ankor_confirmed.
In order to accept an order without any item modifications a simple payload detailing the transition will suffice:
{
"data": {
"type": "brand-validates"
}
}
The order will move from ankor_confirmed to brand_confirmed.
Can be performed when the order is in ankor_confirmed.
Sometimes you may wish to modify the order before accepting it if for example you do not have the items in stock or further communication has taken place with the retailer.
The order items can only be modified at this stage. The rules of the payload are as follows:
You cannot remove all items, please reject the order in this scenario.
{
"data": {
"type": "brand-validates",
"attributes": {
"orderItems": [
{
"id": "a470c8d6-1bda-4612-b0bd-3ea2a81a9e89"
"type": "order-items"
"attributes": {
"quantity": 12
}
},
{
"id": "0ca13de1-8e4b-4e67-a147-185cc5f6f57f"
"type": "order-items"
"attributes": {
"quantity": 0
}
}
]
}
}
}
The order will move from ankor_confirmed to brand_confirmed.
Can be performed when the order is in ankor_confirmed.
To reject an order you must provide a reason listed below for the rejectType field.
BRAND_ALREADY_HAS_CUSTOMER_IN_THE_AREA - Brand already has a customer in the area
BRAND_CANNOT_DELIVER_TO_THE_AREA - Brand cannot make a delivery to the target area
BRAND_HAS_EXCLUSIVE_DISTRIBUTOR_IN_THE_REGION - The brand already has an exclusive distributor in the target region
BUYER_NOT_A_RETAILER - The buyer does not seem to be a retailer
ORDER_ITEMS_PRICES_INCORRECT - The prices of items in this order were incorrect
PAYMENT_ISSUES_WITH_RETAILER - Brand had payment issues in the past with this retailer
PREPARATION_TIME_TOO_HIGH - The time needed for the order preparation is excessively high
PRODUCT_OUT_OF_STOCK - Order cannot be processed because one or multiple ordered products are not in the stock
PURCHASE_NOT_FOR_RESALE - This purchase does not seem to be for resale
RETAILER_AGREED_TO_DO_CHANGES_TO_ORDER - The retailer agreed so that they can do changes to the order
RETAILER_NOT_GOOD_FIT_FOR_BRAND - The retailer who made an order does not fit the brand's criteria
RETAILER_VAT_NUMBER_MISSING - The retailer VAT number is missing
OTHER - If no reason above is suitable you can use value, but you MUST provide a rejectReason which accepts a plain text string of 1000 characters.
{
"data": {
"type": "brand-rejects",
"attributes": {
"rejectType": "ORDER_ITEMS_PRICES_INCORRECT"
}
}
}
{
"data": {
"type": "brand-rejects",
"attributes": {
"rejectType": "OTHER",
"rejectReason": "a different reason"
}
}
}
The order will move from ankor_confirmed to cancelled.
Can be performed when the order is in shipping_labels_generated.
To reject an order you must provide a reason listed below for the resetType field.
BRAND_NEED_MORE_LABELS_TO_SHIP - Brand needs more shipping labels to ship
BRAND_PUT_WRONG_WEIGHT_DIMENSIONS - Brand put wrong parcel weight and/or dimensions
BRAND_SHIPS_WITH_DIFFERENT_CARRIER - Brand wants to ship with a different carrier
PROBLEM_DURING_SHIPPING_LABEL_GENERATION - There was a problem during the shipping labels generation
RETAILER_ASKED_DELIVERY_ADDRESS_CHANGE - The retailer asked for a delivery address change
SHIPPING_ADDRESS_MISMATCHES_PICKUP_ADDRESS - The shipping address mismatches the pickup address
OTHER - If no reason above is suitable you can use this value, but you MUST provide a reason which accepts a plain text string of 300 characters maximum.
{
"data": {
"type": "brand-resets-shipping-labels-generation",
"attributes": {
"resetType": "BRAND_PUT_WRONG_WEIGHT_DIMENSIONS"
}
}
}
{
"data": {
"type": "brand-resets-shipping-labels-generation",
"attributes": {
"rejectType": "OTHER",
"reason": "a different reason"
}
}
}
The order will move from shipping_labels_generated to brand_confirmed.
When shipping with either method ankorstore or custom the brand must provide the parcel data it intends to ship the products in. This parcel information is required when generating quote with either shipping method:
For custom method :
/v1/orders/:orderId/ship/customFor ankorstore method :
/v1/orders/:orderId/shipping-quotesOnce the quote is generated, the brand must confirm the selected one by calling :
For custom method :
/v1/shipping-quotes/:quoteId/confirmFor ankorstore method :
/v1/shipping-quotes/:quoteId/confirmAnkorstore : For this option, Ankorstore will pre-select the best carrier option for you after you’ve entered the parcel weight and size based on a competitive quotation offer.
Once the offer is selected a label will be generated and available in order payload
Custom : With this option, you use your preferred carrier and get a reimbursement from us based on our freight costs.
To find out more about Ankorstore's shipping options, please visit our FAQs.
The brand can generate many quotes between both providers or a single one with different parcel configurations before they decide to confirm the quote. An example flow:
flowchart LR
A[Start] --> B[I want to ship with Ankorstore]
B --> B.1[Get shipping quote list: <br> orders/:orderId/shipping-quotes]
B.1 --> B.2{Is the shipping list empty ?}
B.2 -- NO --> B.YES[I'm happy with at least one proposed quote]
B.2 -- YES --> B.NO[I can consider to ship with my custom solution]
B.YES --> D[I Confirm the quote: <br> shipping-quotes/:quoteId/confirm]
B.NO --> A
A[Start] --> C[I want to ship with custom: <br> orders/:orderId/ship/custom]
C --> C.1[Get the quote]
C.1 --> D
Within the shippingOverview object, there is a field that holds the supported shipping methods for an order:
{
"status": "brand_confirmed",
...
"shippingOverview": {
"availableShppingMethods": ["custom", "ankorstore"]
}
}
Please check this before attempting to ship with ankorstore as it may not be available.
On either shipping method, if the brand has previously generated a quote and is now generating a new one the full list of parcels must be provided. The quote endpoint cannot be called with an empty parcel list to re-use the old parcel data.
To confirm a quote, the ID must be provided when calling the /v1/shipping-quotes/:quoteId/confirm endpoint.
Apart from shippingMethod that is at the order resource level, all information regarding shipping and tracking is stored within the shippingOverview object. This includes the latestQuote generated and the shippingCostsOverview.
We advise you to pay attention on the shippingCostsOverview object, especially when type=fee as the amount referenced here will be subtracted from the brandTotalAmount.
In the latestQuote object, an object called shippingCostsOverview might appear depending on the shipping method selected.
This object includes the cost of the shipping and the type of the cost :
Fee payload example :
{
"shippingCostsOverview": {
"amount": 5160,
"currency": "EUR",
"type": "fee"
}
}
Refund payload example :
{
"shippingCostsOverview": {
"amount": 1060,
"currency": "EUR",
"type": "refund"
}
}
If the type is fee, it means that this amount will be subtracted from brand net amount as a contribution to shipping costs. If the type is refund, the amount will be refunded to the brand.
In the new endpoint for listing quotes v1/orders/:orderId/shipping-quotes, the shipping cost of the selected quote will be the fee subtracted from total amount (here 8.07 euros):
{
"quoteUuid": "1edd47df-b91a-68b0-b517-52e73cd28d4f",
"carrierCode": "ups",
"serviceCode": "11",
"serviceCommercialName": "UPS Standard",
"collectionMethod": [
"pickup",
"drop-off"
],
"shippingCost": {
"amount": 807,
"currency": "EUR"
}
}
To find out more about Ankorstore's contribution to your shipping costs, please visit our FAQs.
The quote action will return an amount that will be refunded back to the brand based on the shipping grid refund matrix.
The confirm action is synchronous, meaning when the action is called the order resource will have its status changed to shipped upon returning a response. It is up to brand to provide tracking details for the retailer when calling this action.
sequenceDiagram
participant O as Order
participant SWC as Ship : <br> orders/:orderId/ship/custom
participant SC as Confirm : <br> shipping-quotes/:quoteId/confirm
participant SH as Shipped
O->>SWC: Generate quote
SWC-->>O: Quote OK
O->>SC: Confirm quote
SC->>SH: Status
SC-->>O: OK
In the ship/custom endpoint response, the quote uuid generated is returned in the latestQuote part:
{
"latestQuote": {
"id": "1edd395f-5b57-62ac-9698-521a54b4405f",
"provider": "custom",
...
}
}
When calling the confirm action for the order's Ankorstore shipping quote, the returned order resource's status will still be brand_confirmed. A job in the background will generate the shipping labels for the order. It is this background processing that moves the status to shipping_labels_generated.
Right now, the order must be polled periodically. Checking every minute would be suitable to detect the status change and then pull the label PDF data within the shippingOverview of an order resource.
sequenceDiagram
participant O as Order
participant SWA as Ship with Ankor : <br> orders/:orderId/shipping-quotes
participant SC as Confirm shipping : <br> shipping-quotes/:quoteId/confirm
participant BG as Async Processing
participant C as Carrier
participant SH as Shipped
O->>SWA: Get shipping quote list
SWA-->>O: I accept one quote
O->>SC: I confirm the quote
SC-->>O: OK status=brand_confirmed
SC-->>BG: Dispatch generate labels job
Note over SC,BG: Async worker job
BG-->>O: Labels generated, status=shipping_labels_generated
Note over BG,O: (Async worker)
C-->>SH: Parcels scanned, status=shipped
Note over C,SH: (External service)
At step 6 (shipping labels generated) the download URL's for each packages label will be available within the shippingOverview of an order resource. These labels are in PDF format and will also be visible in order details page on Ankorstore.
If the brand is not taking the parcels to the local drop-off point for the carrier the brand can schedule a pickup for this order. A pickup can only be scheduled on a working day (monday to friday). For full information please refer to the API documentation.
For now, Ankorstore does not know in advance which date/time configuration is available, if the requested pickup is denied please try a different date or time frame.
| :zap: This documentation is deprecrated |
|---|
When shipping with either method ankorstore or custom the brand must provide the parcel data it intends to ship the products in. This parcel information is required when generating a quote with either shipping method:
/v1/orders/{id}/ship/custom/v1/orders/{id}/ship/ankorstoreThe brand can generate many quotes between both providers or a single one with different parcel configurations before they decide to confirm the quote. An example flow:
sequenceDiagram
participant O as Order
participant SWC as Ship Custom
participant SWA as Ship Ankor
participant SC as Ship Confirm
O->>SWC: Generate quote
SWC-->>O: Unhappy with refund
O->>SWA: Generate quote
SWA-->>O: Cannot generate quote for retailers ship to address
Note over SWA,O: Sometimes AK shipping providers (UPS) cannot ship to certain addresses etc.
SWA-->>O: Unhappy with shipping cost fee
Note over SWA,O: A fee can be created as a contribution of the brand depending on the shipping costs
O->>SWC: Generate new custom quote
Note over O,SWC: Quote needs to be regenerated.
Note over O,SWC: Confirm endpoint uses last generated quote.
SWC->>SC: Brand ships with custom
Within the shippingOverview object, there is a field that holds the supported shipping methods for an order:
{
"status": "brand_confirmed",
...
"shippingOverview": {
"availableShippingMethods": ["custom", "ankorstore"]
}
}
Please check this before attempting to ship with ankorstore as it may not be available.
On either shipping method, if the brand has previously generated a quote and is now generating a new one the full list of parcels must be provided. The quote endpoint cannot be called with an empty parcel list to re-use the old parcel data.
When confirming a quote only the last generated quote is used - this is the one in the order resource latestQuote. The /v1/orders/{id}/ship/confirm endpoint does not currently accept a quote ID.
Apart from shippingMethod that is at the order resource level, all information regarding shipping and tracking is stored within the shippingOverview object. This includes the latestQuote generated and the shippingCostsOverview.
We advise you to pay attention on the shippingCostsOverview object, especially when type=fee as the amount referenced here will be subtracted from the brandTotalAmount.
In the latestQuote object, an object called shippingCostsOverview might appear depending on the shipping method selected.
This object includes the cost of the shipping and the type of the cost :
Fee payload example :
{
"shippingCostsOverview": {
"amount": 5160,
"currency": "EUR",
"type": "fee"
}
}
Refund payload example :
{
"shippingCostsOverview": {
"amount": 1060,
"currency": "EUR",
"type": "refund"
}
}
If the type is fee, it means that this amount will be subtracted from brand net amount as a contribution to shipping costs. If the type is refund, the amount will be refunded to the brand.
To find out more about Ankorstore's contribution to your shipping costs, please visit our FAQs.
The quote action will return an amount that will be refunded back to the brand based on the shipping grid refund matrix.
The confirm action is synchronous, meaning when the action is called the order resource will have its status changed to shipped upon returning a response. It is up to brand to provide tracking details for the retailer when calling this action.
sequenceDiagram
participant O as Order
participant SWC as Ship Custom
participant SC as Ship Confirm
participant SH as Shipped
O->>SWC: Generate quote
SWC-->>O: Quote OK
O->>SC: Confirm quote
SC->>SH: Status
SC-->>O: OK
When calling the confirm action for the order's Ankorstore shipping quote, the returned order resource's status will still be brand_confirmed. A job in the background will generate the shipping labels for the order. It is this background processing that moves the status to shipping_labels_generated.
Right now, the order must be polled periodically. Checking every minute would be suitable to detect the status change and then pull the label PDF data within the shippingOverview of an order resource.
sequenceDiagram
participant O as Order
participant SWA as Ship Ankor
participant SC as Ship Confirm
participant BG as Async Processing
participant C as Carrier
participant SH as Shipped
O->>SWA: Generate quote
SWA-->>O: Quote OK
O->>SC: Confirm quote
SC-->>O: OK status=brand_confirmed
SC-->>BG: Dispatch generate labels job
Note over SC,BG: Async worker job
BG-->>O: Labels generated, status=shipping_labels_generated
Note over BG,O: (Async worker)
C-->>SH: Parcels scanned, status=shipped
Note over C,SH: (External service)
At step 6 (shipping labels generated) the download URL's for each packages label will be available within the shippingOverview of an order resource. These labels are in PDF format and will also be visible in order details page on Ankorstore.
If the brand is not taking the parcels to the local drop-off point for the carrier the brand can schedule a pickup for this order. A pickup can only be scheduled on a working day (monday to friday). For full information please refer to the API documentation.
For now, Ankorstore does not know in advance which date/time configuration is available, if the requested pickup is denied please try a different date or time frame.
Returns all orders, can be filtered by retailer ID or by order status.
| filter[retailer] | string Example: filter[retailer]=23e4567-e89b-12d3-a456-426614174000 Retailer Id |
| filter[status] | string Enum: "ankor_confirmed" "rejected" "brand_confirmed" "shipping_labels_generated" "fulfillment_requested" "shipped" "reception_refused" "received" "invoiced" "brand_paid" "cancelled" Example: filter[status]=ankor_confirmed Order Status |
| page[limit] | integer <int64> limit the amount of results returned |
| page[before] | string show items before the provided ID (uuid format) |
| page[after] | string show items after the provided ID (uuid format) |
| Accept | string Default: application/vnd.api+json application/vnd.api+json |
{- "meta": {
- "page": {
- "from": "123e4567-e89b-12d3-a456-426614174000",
- "hasMore": true,
- "perPage": 2,
- "to": "1ecb023e-7ec0-6d5c-a477-0242ac170008"
}
}, - "jsonapi": {
- "version": "1.0"
}, - "data": [
- {
- "type": "orders",
- "id": "123e4567-e89b-12d3-a456-426614174000",
- "attributes": {
- "status": "invoiced",
- "reference": 3434273911,
- "brandCurrency": "EUR",
- "brandNetAmount": 20596,
- "brandTotalAmount": 23405,
- "brandTotalAmountVat": 0,
- "brandTotalAmountWithVat": 23405,
- "brandRejectReason": null,
- "retailerRejectReason": null,
- "retailerCancellationRequestReason": null,
- "billingName": "Charles Attan",
- "billingOrganisationName": "Jumbo",
- "billingStreet": "Kortricklaan 101",
- "billingPostalCode": "8121 GW",
- "billingCity": "Arnhem",
- "billingCountryCode": "NL",
- "submittedAt": "2022-03-15T10:05:09+00:00",
- "shippedAt": "2022-03-17T15:05:19+00:00",
- "brandPaidAt": null,
- "createdAt": "2022-03-13T16:36:24+00:00",
- "updatedAt": "2022-03-31T11:57:13+00:00",
- "shippingMethod": "ankorstore"
}, - "relationships": {
- "retailer": {
- "data": {
- "type": "retailers",
- "id": "1ecba0f4-adf0-6fbe-badf-9eb2e4c4d56c"
}
}, - "billingItems": {
- "data": [
- {
- "type": "billing-items",
- "id": "1ece8a8c-55b9-63c6-95c3-0242ac160007"
}
]
}, - "orderItems": {
- "data": [
- {
- "type": "order-items",
- "id": "1ece8a8c-73ad-6ae4-a4ab-0242ac160007"
}, - {
- "type": "order-items",
- "id": "1ece8a8c-623e-6ccc-aa2e-0242ac160007"
}
]
}
}
}, - {
- "type": "orders",
- "id": "1ecb023e-7ec0-6d5c-a477-0242ac170007",
- "attributes": {
- "status": "ankor_confirmed",
- "reference": 3434273911,
- "brandCurrency": "EUR",
- "brandNetAmount": 10229,
- "brandTotalAmount": 10940,
- "brandTotalAmountVat": 602,
- "brandTotalAmountWithVat": 11542,
- "brandRejectReason": null,
- "retailerRejectReason": null,
- "retailerCancellationRequestReason": null,
- "billingName": "Charles Attan",
- "billingOrganisationName": "Jumbo",
- "billingStreet": "Kortricklaan 101",
- "billingPostalCode": "8121 GW",
- "billingCity": "Arnhem",
- "billingCountryCode": "NL",
- "submittedAt": "2022-03-17T13:19:33+00:00",
- "shippedAt": null,
- "brandPaidAt": null,
- "createdAt": "2022-02-01T14:37:10+00:00",
- "updatedAt": "2022-03-31T11:56:01+00:00",
- "shippingMethod": null
}, - "relationships": {
- "retailer": {
- "data": {
- "type": "retailers",
- "id": "1ecba0f4-adf0-6fbe-badf-9eb2e4c4d56c"
}
}, - "billingItems": {
- "data": [
- {
- "type": "billing-items",
- "id": "1ece8a8c-55b9-63c6-95c3-0242ac160007"
}
]
}, - "orderItems": {
- "data": [
- {
- "type": "order-items",
- "id": "1ece8a8c-73ad-6ae4-a4ab-0242ac160007"
}
]
}
}
}
]
}Retrieve a specific order
| order required |
| include | string |
| Accept | string Default: application/vnd.api+json application/vnd.api+json |
{- "jsonapi": {
- "version": "1.0"
}, - "data": {
- "type": "order",
- "id": "1ecb023e-7ec0-6d5c-a477-0242ac170009",
- "attributes": {
- "status": "invoiced",
- "reference": 3434273911,
- "brandCurrency": "EUR",
- "brandNetAmount": 20596,
- "brandTotalAmount": 23405,
- "brandTotalAmountVat": 0,
- "brandTotalAmountWithVat": 23405,
- "brandRejectReason": null,
- "retailerRejectReason": null,
- "retailerCancellationRequestReason": null,
- "billingName": "Charles Attan",
- "billingOrganisationName": "Jumbo",
- "billingStreet": "Kortricklaan 101",
- "billingPostalCode": "8121 GW",
- "billingCity": "Arnhem",
- "billingCountryCode": "NL",
- "submittedAt": "2022-03-15T10:05:09+00:00",
- "shippedAt": "2022-03-17T15:05:19+00:00",
- "brandPaidAt": null,
- "createdAt": "2022-03-13T16:36:24+00:00",
- "updatedAt": "2022-03-31T11:57:13+00:00",
- "shippingMethod": "ankorstore",
- "shippingOverview": {
- "availableShippingMethods": [
- "custom",
- "ankorstore"
], - "shipToAddress": {
- "name": "John Smith",
- "organisationName": "TEST RETAILER",
- "street": "Test Street 14",
- "city": "DEN HAAG",
- "postalCode": "3333HC",
- "countryCode": "NL"
}, - "expectedShippingDates": {
- "minimum": "2022-03-18T00:00:00+00:00",
- "maximum": "2022-03-22T23:59:59+00:00"
}, - "provider": "ups",
- "tracking": null,
- "latestQuote": {
- "id": "5cc76f26-0f5d-1ecb-a0d6-0242ac170009",
- "provider": "ups",
- "rateAmount": {
- "amount": 1359,
- "currency": "EUR"
}, - "rateProvider": "ankorstore",
- "shippingCostsOverview": {
- "amount": 1037,
- "currency": "EUR",
- "type": "fee"
}
}, - "parcels": [
- {
- "length": 30,
- "width": 60,
- "height": 40,
- "weight": 16500,
- "distanceUnit": "cm",
- "massUnit": "g",
- "trackedPackage": {
- "labelUrl": null,
- "eta": null,
- "trackingNumber": "1Z8A76119134110028",
- "currentStatus": {
- "status": "DELIVERED",
- "statusDetails": "Delivered",
- "updatedAt": "2022-03-21T10:36:46+00:00",
- "location": {
- "city": "DEN HAAG",
- "state": null,
- "zip": "3333HC",
- "country": "NL"
}
}
}
}
], - "transaction": {
- "pickup": {
- "pickupDate": "2022-03-18T00:00:00+00:00",
- "closeTime": "15:00:00",
- "readyTime": "09:00:00",
- "externalReferenceId": "29QGCN35P8R"
}, - "tracking": {
- "eta": null,
- "trackingNumber": "1Z8A76E493544110028",
- "currentStatus": {
- "status": "DELIVERED",
- "statusDetails": "Delivered",
- "updatedAt": "2022-03-21T10:36:46+00:00",
- "location": {
- "city": "DEN HAAG",
- "state": null,
- "zip": "3333HC",
- "country": "NL"
}
}
}
}
}
}
}, - "included": [
- {
- "type": "retailer",
- "id": "3b656e82-0260-1ecb-9e4c-0242ac170007",
- "attributes": {
- "companyName": null,
- "storeName": "TEST RETAILER",
- "storeUrl": null,
- "email": "test_retailer@gmail.com",
- "firstName": "Test",
- "lastName": "Retailer",
- "taxNumber": "222270824",
- "vatNumber": "FR52222470824",
- "eoriNumber": null,
- "phoneNumberE164": "+33688615666",
- "businessIdentifier": "819470111",
- "createdAt": "2020-06-19T11:59:30.000000Z",
- "updatedAt": "2020-06-21T15:27:39.000000Z"
}
}
]
}Returns configuration for the current user
| Accept | string Default: application/vnd.api+json application/vnd.api+json |
{- "data": {
- "type": "string",
- "id": "497f6eca-6276-4993-bfeb-53cbbbba6f08",
- "attributes": {
- "currency": "string",
- "country": "string",
- "browserId": "string"
}, - "required": null
}, - "jsonapi": {
- "version": "string",
- "meta": { }
}
}Transition an order to a new state. This endpoint can be used to accept an order (with or without modifications), reject an order or reset generated shipping labels currently. Please see the documentation for more information.
| order required |
| include | string |
| Accept | string Default: application/vnd.api+json application/vnd.api+json |
Brand Accepts Payload (object) or Brand Rejects Payload (object) or Brand Resets Shipping Labels Generation (object) | |||||||||||||||||
One of
| |||||||||||||||||
{- "data": {
- "type": "brand-validates"
}
}{- "jsonapi": {
- "version": "1.0"
}, - "data": {
- "type": "order",
- "id": "1ecb023e-8ec0-6d5c-a477-0242ac170007",
- "attributes": {
- "status": "brand_confirmed",
- "reference": 3434273911,
- "brandCurrency": "EUR",
- "brandNetAmount": 10229,
- "brandTotalAmount": 10940,
- "brandTotalAmountVat": 602,
- "brandTotalAmountWithVat": 11542,
- "brandRejectReason": null,
- "retailerRejectReason": null,
- "retailerCancellationRequestReason": null,
- "billingName": "Charles Attan",
- "billingOrganisationName": "Jumbo",
- "billingStreet": "Kortricklaan 101",
- "billingPostalCode": "8121 GW",
- "billingCity": "Arnhem",
- "billingCountryCode": "NL",
- "submittedAt": "2022-03-17T13:19:33+00:00",
- "shippedAt": null,
- "brandPaidAt": null,
- "createdAt": "2022-02-01T14:37:10+00:00",
- "updatedAt": "2022-03-31T15:10:07+00:00",
- "shippingMethod": null,
- "shippingOverview": {
- "availableShippingMethods": [
- "custom",
- "ankorstore"
], - "shipToAddress": {
- "name": "John Smith",
- "organisationName": "Test",
- "street": "Test Street",
- "city": "Commentry",
- "postalCode": "03633",
- "countryCode": "FR"
}, - "expectedShippingDates": {
- "minimum": "2022-03-22T00:00:00+00:00",
- "maximum": "2022-03-24T23:59:59+00:00"
}, - "provider": null,
- "tracking": null,
- "latestQuote": null,
- "parcels": [ ],
- "transaction": null
}
}
}
}[Deprecated] Please use the Order Transition endpoint.
| order required |
| include | string |
| Accept | string Default: application/vnd.api+json application/vnd.api+json |
{- "jsonapi": {
- "version": "1.0"
}, - "data": {
- "type": "order",
- "id": "1ecb023e-8ec0-6d5c-a477-0242ac170007",
- "attributes": {
- "status": "brand_confirmed",
- "reference": 3434273911,
- "brandCurrency": "EUR",
- "brandNetAmount": 10229,
- "brandTotalAmount": 10940,
- "brandTotalAmountVat": 602,
- "brandTotalAmountWithVat": 11542,
- "brandRejectReason": null,
- "retailerRejectReason": null,
- "retailerCancellationRequestReason": null,
- "billingName": "Charles Attan",
- "billingOrganisationName": "Jumbo",
- "billingStreet": "Kortricklaan 101",
- "billingPostalCode": "8121 GW",
- "billingCity": "Arnhem",
- "billingCountryCode": "NL",
- "submittedAt": "2022-03-17T13:19:33+00:00",
- "shippedAt": null,
- "brandPaidAt": null,
- "createdAt": "2022-02-01T14:37:10+00:00",
- "updatedAt": "2022-03-31T15:10:07+00:00",
- "shippingMethod": null,
- "shippingOverview": {
- "availableShippingMethods": [
- "custom",
- "ankorstore"
], - "shipToAddress": {
- "name": "John Smith",
- "organisationName": "Test",
- "street": "Test Street",
- "city": "Commentry",
- "postalCode": "03633",
- "countryCode": "FR"
}, - "expectedShippingDates": {
- "minimum": "2022-03-22T00:00:00+00:00",
- "maximum": "2022-03-24T23:59:59+00:00"
}, - "provider": null,
- "tracking": null,
- "latestQuote": null,
- "parcels": [ ],
- "transaction": null
}
}
}
}[Deprecated] Please use the Order Transition endpoint.
| order required |
| include | string |
| Accept | string Default: application/vnd.api+json application/vnd.api+json |
required | object | ||||
| |||||
{- "order": {
- "rejectType": "PRODUCT_OUT_OF_STOCK"
}
}{- "jsonapi": {
- "version": "1.0"
}, - "data": {
- "type": "order",
- "id": "1ecb023e-7ec0-6d5c-a477-0242ac170007",
- "attributes": {
- "status": "rejected",
- "reference": 3434273911,
- "brandCurrency": "EUR",
- "brandNetAmount": 10229,
- "brandTotalAmount": 10940,
- "brandTotalAmountVat": 602,
- "brandTotalAmountWithVat": 11542,
- "brandRejectReason": "Products not in stock.",
- "retailerRejectReason": null,
- "retailerCancellationRequestReason": null,
- "billingName": "Charles Attan",
- "billingOrganisationName": "Jumbo",
- "billingStreet": "Kortricklaan 101",
- "billingPostalCode": "8121 GW",
- "billingCity": "Arnhem",
- "billingCountryCode": "NL",
- "submittedAt": "2022-03-17T13:19:33+00:00",
- "shippedAt": null,
- "brandPaidAt": null,
- "createdAt": "2022-02-01T14:37:10+00:00",
- "updatedAt": "2022-03-31T15:10:07+00:00",
- "shippingMethod": null,
- "shippingOverview": {
- "availableShippingMethods": [
- "custom",
- "ankorstore"
], - "shipToAddress": {
- "name": "John Smith",
- "organisationName": "Test",
- "street": "Test Street",
- "city": "Commentry",
- "postalCode": "03633",
- "countryCode": "FR"
}, - "expectedShippingDates": {
- "minimum": "2022-03-22T00:00:00+00:00",
- "maximum": "2022-03-24T23:59:59+00:00"
}, - "provider": null,
- "tracking": null,
- "latestQuote": null,
- "parcels": [ ],
- "transaction": null
}
}
}
}Both, options and variants refer to same concept of having variations of a given product (i.e. Same t-shirt model but different color).
Options are deprecated now in favour of variants and no further development will be done on them.
Options allow configuring size, color and other type of variations for a product.
Variants allow configuring many more parameters, including:
neckline for a t-shirt)In order to start using the new variant system you just need to contact your Ankorstore agent and we will manage everything for you.
This is not a breaking change, so endpoints will keep returning information related to options for all the existing orders in our system as well as for all the orders created from the migration onwards.
We strongly recommend to start relying on information provided by variants section after the migration will be completed for your brand. Variants will contain information related to new features that won't be supported by the actual options system, so the information provided by options related to your order items may be incomplete.
Here you will find information about the product resource and its sub-resources. If you need further information please refer to the API specification.
When retrieving the individual product via the API, you may pass an ?include=productVariants query parameter that will return associated product variants inside the included root level object.
Returns all products
| page[limit] | integer <int64> limit the amount of results returned |
| page[before] | string show items before the provided ID (uuid format) |
| page[after] | string show items after the provided ID (uuid format) |
| Accept | string Default: application/vnd.api+json application/vnd.api+json |
{- "meta": {
- "page": {
- "from": "123e4567-e89b-12d3-a456-426614174000",
- "hasMore": true,
- "perPage": 2,
- "to": "1ecb023e-7ec0-6d5c-a477-0242ac170008"
}
}, - "jsonapi": {
- "version": "1.0"
}, - "data": [
- {
- "type": "product",
- "id": "0c5e6540-0da9-1ecb-bf59-0242ac170007",
- "attributes": {
- "name": "Example Product",
- "description": "Example description of product",
- "language": "fr",
- "dimensions": "5,5x5,5x6",
- "netWeight": "100G",
- "capacity": "100g",
- "position": 34,
- "unitMultiplier": 12,
- "vatRate": 5.5,
- "discountRate": 0,
- "active": true,
- "outOfStock": false,
- "archived": false,
- "retailPrice": 750,
- "wholesalePrice": 426,
- "originalWholesalePrice": 426,
- "createdAt": "2020-08-27T14:26:38.000000Z",
- "indexedAt": "2022-02-10T03:26:11.000000Z",
- "updatedAt": "2022-02-09T14:49:09.000000Z"
}
}, - {
- "type": "product",
- "id": "c8466a3c-4fb8-4474-a86f-20f10d14314f",
- "attributes": {
- "name": "Example Product 2",
- "description": "Example description of product 2",
- "language": "fr",
- "dimensions": "10,5x10,5x12",
- "netWeight": "250G",
- "capacity": "250g",
- "position": 20,
- "unitMultiplier": 12,
- "vatRate": 5.5,
- "discountRate": 0,
- "active": true,
- "outOfStock": false,
- "archived": false,
- "retailPrice": 900,
- "wholesalePrice": 700,
- "originalWholesalePrice": 700,
- "createdAt": "2020-09-27T14:26:38.000000Z",
- "indexedAt": "2022-02-10T03:26:11.000000Z",
- "updatedAt": "2022-02-09T14:49:09.000000Z"
}
}
]
}Retrieve a specific product
| product required |
| include | string |
| Accept | string Default: application/vnd.api+json application/vnd.api+json |
{- "jsonapi": {
- "version": "1.0"
}, - "data": {
- "type": "product",
- "id": "0c5e6540-0da9-1ecb-bf59-0242ac170007",
- "attributes": {
- "name": "Example Product",
- "description": "Example description of product",
- "language": "fr",
- "dimensions": "5,5x5,5x6",
- "netWeight": "100G",
- "capacity": "100g",
- "position": 34,
- "unitMultiplier": 12,
- "vatRate": 5.5,
- "discountRate": 0,
- "active": true,
- "outOfStock": false,
- "archived": false,
- "retailPrice": 750,
- "wholesalePrice": 426,
- "originalWholesalePrice": 426,
- "createdAt": "2020-08-27T14:26:38.000000Z",
- "indexedAt": "2022-02-10T03:26:11.000000Z",
- "updatedAt": "2022-02-09T14:49:09.000000Z"
}
}, - "included": [
- {
- "type": "productVariant",
- "id": "2171bdc1-fa01-44fa-9342-d99bd1c2befa",
- "attributes": {
- "name": "Test Product Variant",
- "sku": "Product-Variant-001",
- "ian": "1924859325863",
- "createdAt": "2020-08-27T14:29:15.000000Z",
- "updatedAt": "2021-10-04T12:03:31.000000Z",
- "archivedAt": null,
- "retailPrice": 800,
- "wholesalePrice": 500,
- "originalWholesalePrice": 500,
- "availableQuantity": 125,
- "reservedQuantity": 25,
- "stockQuantity": 150,
- "isAlwaysInStock": false
}, - "relationships": {
- "product": {
- "data": {
- "type": "product",
- "id": "c8466a3c-4fb8-4474-a86f-20f10d14314f"
}
}
}
}
]
}Returns all product variants with their stock
| Accept | string application/vnd.api+json |
{- "meta": {
- "page": {
- "from": "3571bdc1-fa01-44fa-9342-d99bd1c2befa",
- "hasMore": true,
- "perPage": 2,
- "to": "4271bdc1-fa01-44fa-9342-d99bd1c2befa"
}
}, - "jsonapi": {
- "version": "1.0"
}, - "links": {
}, - "data": [
- {
- "type": "productVariant",
- "id": "3571bdc1-fa01-44fa-9342-d99bd1c2befa",
- "attributes": {
- "name": "Test Product Variant",
- "sku": "Product-Variant-001",
- "ian": "1924859325863",
- "createdAt": "2020-08-27T14:29:15.000000Z",
- "updatedAt": "2021-10-04T12:03:31.000000Z",
- "archivedAt": null,
- "retailPrice": 800,
- "wholesalePrice": 500,
- "originalWholesalePrice": 500,
- "availableQuantity": 125,
- "reservedQuantity": 25,
- "stockQuantity": 150,
- "isAlwaysInStock": false
}, - "relationships": {
- "product": {
- "data": {
- "type": "product",
- "id": "4271bdc1-fa11-54fa-9242-d99bd1c2befb"
}
}
}
}, - {
- "type": "productVariant",
- "id": "4271bdc1-fa01-44fa-9342-d99bd1c2befa",
- "attributes": {
- "name": "Another test Product Variant",
- "sku": "Product-Variant-002",
- "ian": "1924859325867",
- "createdAt": "2020-08-27T14:29:15.000000Z",
- "updatedAt": "2021-10-04T12:03:31.000000Z",
- "archivedAt": null,
- "retailPrice": 800,
- "wholesalePrice": 500,
- "originalWholesalePrice": 500,
- "availableQuantity": 125,
- "reservedQuantity": 25,
- "stockQuantity": 150,
- "isAlwaysInStock": false
}, - "relationships": {
- "product": {
- "data": {
- "type": "product",
- "id": "2291bdc1-bc01-44fa-9342-d95bd1c2befa"
}
}
}
}
]
}Get product variant with stock
| productVariant required | string <uuid> |
| Accept | string Default: application/vnd.api+json application/vnd.api+json |
{- "data": {
- "type": "productVariant",
- "id": "2171bdc1-fa01-44fa-9342-d99bd1c2befa",
- "attributes": {
- "name": "Test Product Variant",
- "sku": "Product-Variant-001",
- "ian": "1924859325863",
- "createdAt": "2020-08-27T14:29:15.000000Z",
- "updatedAt": "2021-10-04T12:03:31.000000Z",
- "archivedAt": null,
- "retailPrice": 800,
- "wholesalePrice": 500,
- "originalWholesalePrice": 500,
- "availableQuantity": 125,
- "reservedQuantity": 25,
- "stockQuantity": 150,
- "isAlwaysInStock": false
}, - "relationships": {
- "product": {
- "data": {
- "type": "product",
- "id": "c8466a3c-4fb8-4474-a86f-20f10d14314f"
}
}
}
}, - "jsonapi": {
- "version": "string",
- "meta": { }
}
}Ship using the brands own method
| order required |
| include | string |
| Accept | string Default: application/vnd.api+json application/vnd.api+json |
required | object | ||||||||||||||||
| |||||||||||||||||
{- "shipping": {
- "parcels": [
- {
- "length": 100,
- "width": 10,
- "height": 10,
- "distanceUnit": "cm",
- "weight": 2000,
- "massUnit": "g"
}, - {
- "length": 120,
- "width": 20,
- "height": 20,
- "distanceUnit": "cm",
- "weight": 2000,
- "massUnit": "g"
}
]
}
}{- "jsonapi": {
- "version": "1.0"
}, - "data": {
- "type": "order",
- "id": "1ecb023e-7ec0-6d5c-a477-0242ac170007",
- "attributes": {
- "status": "brand_confirmed",
- "reference": 3434273911,
- "brandCurrency": "EUR",
- "brandNetAmount": 10229,
- "brandTotalAmount": 10940,
- "brandTotalAmountVat": 602,
- "brandTotalAmountWithVat": 11542,
- "brandRejectReason": null,
- "retailerRejectReason": null,
- "retailerCancellationRequestReason": null,
- "billingName": "Charles Attan",
- "billingOrganisationName": "Jumbo",
- "billingStreet": "Kortricklaan 101",
- "billingPostalCode": "8121 GW",
- "billingCity": "Arnhem",
- "billingCountryCode": "NL",
- "submittedAt": "2022-03-17T13:19:33+00:00",
- "shippedAt": null,
- "brandPaidAt": null,
- "createdAt": "2022-02-01T14:37:10+00:00",
- "updatedAt": "2022-03-31T15:10:07+00:00",
- "shippingMethod": "custom",
- "shippingOverview": {
- "availableShippingMethods": [
- "custom",
- "ankorstore"
], - "shipToAddress": {
- "name": "John Smith",
- "organisationName": "Test",
- "street": "Test Street",
- "city": "Commentry",
- "postalCode": "03633",
- "countryCode": "FR"
}, - "expectedShippingDates": {
- "minimum": "2022-03-22T00:00:00+00:00",
- "maximum": "2022-03-24T23:59:59+00:00"
}, - "provider": null,
- "tracking": null,
- "latestQuote": {
- "id": "5cc76f26-0f5d-1ecb-a0d6-0242ac170009",
- "provider": "custom",
- "rateAmount": {
- "amount": 1359,
- "currency": "EUR"
}, - "rateProvider": "ankorstore",
- "shippingCostsOverview": {
- "amount": 1037,
- "currency": "EUR",
- "type": "refund"
}
}, - "parcels": [
- {
- "length": 30,
- "width": 60,
- "height": 40,
- "weight": 16500,
- "distanceUnit": "cm",
- "massUnit": "g",
- "trackedPackage": null
}, - {
- "length": 30,
- "width": 60,
- "height": 40,
- "weight": 20000,
- "distanceUnit": "cm",
- "massUnit": "g",
- "trackedPackage": null
}
], - "transaction": null
}
}
}
}List multiple carrier service quotes that you can choose to ship your order. Please visit our FAQs for more information.
| order required |
| include | string |
| Accept | string Default: application/vnd.api+json application/vnd.api+json |
required | Array of objects [ 1 .. 20 ] | ||||||||
Array
| |||||||||
| no_dangerous_product | boolean Indicates if the parcel contains dangerous products | ||||||||
{- "parcels": [
- {
- "length": 20,
- "width": 20,
- "height": 20,
- "kg": 21
}
], - "no_dangerous_product": true
}{- "jsonapi": {
- "version": "1.0"
}, - "data": [
- {
- "quoteUuid": "1eda3cbb-983b-6a4a-b395-6a0440190584",
- "carrierCode": "ups",
- "serviceCode": "11",
- "serviceCommercialName": "UPS STANDARD",
- "collectionMethod": [
- "pickup"
], - "shippingCost": {
- "amount": 12,
- "currency": "EUR"
}
}
]
}This endpoint is deprecated. We encourage you to use the List Order Quotes endpoint instead.
| order required |
| include | string |
| Accept | string Default: application/vnd.api+json application/vnd.api+json |
required | object | ||||||||||||||||
| |||||||||||||||||
{- "shipping": {
- "parcels": [
- {
- "length": 100,
- "width": 10,
- "height": 10,
- "distanceUnit": "cm",
- "weight": 2000,
- "massUnit": "g"
}
]
}
}{- "jsonapi": {
- "version": "1.0"
}, - "data": {
- "type": "order",
- "id": "1ecb023e-7ec0-6d5c-a477-0242ac170007",
- "attributes": {
- "status": "brand_confirmed",
- "reference": 3434273911,
- "brandCurrency": "EUR",
- "brandNetAmount": 10229,
- "brandTotalAmount": 10940,
- "brandTotalAmountVat": 602,
- "brandTotalAmountWithVat": 11542,
- "brandRejectReason": null,
- "retailerRejectReason": null,
- "retailerCancellationRequestReason": null,
- "billingName": "Charles Attan",
- "billingOrganisationName": "Jumbo",
- "billingStreet": "Kortricklaan 101",
- "billingPostalCode": "8121 GW",
- "billingCity": "Arnhem",
- "billingCountryCode": "NL",
- "submittedAt": "2022-03-17T13:19:33+00:00",
- "shippedAt": null,
- "brandPaidAt": null,
- "createdAt": "2022-02-01T14:37:10+00:00",
- "updatedAt": "2022-03-31T15:10:07+00:00",
- "shippingMethod": "ankorstore",
- "shippingOverview": {
- "availableShippingMethods": [
- "custom",
- "ankorstore"
], - "shipToAddress": {
- "name": "John Smith",
- "organisationName": "Test",
- "street": "Test Street",
- "city": "Commentry",
- "postalCode": "03633",
- "countryCode": "FR"
}, - "expectedShippingDates": {
- "minimum": "2022-03-22T00:00:00+00:00",
- "maximum": "2022-03-24T23:59:59+00:00"
}, - "provider": null,
- "tracking": null,
- "latestQuote": {
- "id": "5cc76f26-0f5d-1ecb-a0d6-0242ac170009",
- "provider": "ups",
- "rateAmount": {
- "amount": 1359,
- "currency": "EUR"
}, - "rateProvider": "ankorstore",
- "shippingCostsOverview": {
- "amount": 1037,
- "currency": "EUR",
- "type": "fee"
}
}, - "parcels": [
- {
- "length": 30,
- "width": 60,
- "height": 40,
- "weight": 16500,
- "distanceUnit": "cm",
- "massUnit": "g",
- "trackedPackage": null
}, - {
- "length": 30,
- "width": 60,
- "height": 40,
- "weight": 20000,
- "distanceUnit": "cm",
- "massUnit": "g",
- "trackedPackage": null
}
], - "transaction": null
}
}
}
}Use this endpoint to confirm which quote you want to use to ship your order. You can confirm either custom or ankorstore quote.
| quoteId required |
| Accept | string Default: application/vnd.api+json application/vnd.api+json |
| labelFormat | string Default: "default" Enum: "full_page" "default" This field is not required. If you don't' define it we will use the default label format as well. | ||||
object or object | |||||
One of
| |||||
{- "labelFormat": "default"
}{- "jsonapi": {
- "version": "1.0"
}, - "data": {
- "id": "991836",
- "uuid": "1eda3cbb-983b-6a4a-b395-6a0440190584",
- "orderUuid": "1ed9f5cc-ce42-625a-a8f1-b6ea0809b6f7",
- "provider": "ups",
- "currency": "EUR",
- "shippingCost": "€12.00"
}
}[Deprecated] Please use the Confirm Shipping Quote endpoint.
| order required |
| include | string |
| Accept | string Default: application/vnd.api+json application/vnd.api+json |
object or object | |||||
One of
| |||||
{- "order": {
- "trackingProvider": "ups",
- "trackingNumber": "123456"
}
}{- "jsonapi": {
- "version": "1.0"
}, - "data": {
- "type": "order",
- "id": "1ecb023e-7ec0-6d5c-a477-0242ac170007",
- "attributes": {
- "status": "brand_confirmed",
- "reference": 3434273911,
- "brandCurrency": "EUR",
- "brandNetAmount": 10229,
- "brandTotalAmount": 10940,
- "brandTotalAmountVat": 602,
- "brandTotalAmountWithVat": 11542,
- "brandRejectReason": null,
- "retailerRejectReason": null,
- "retailerCancellationRequestReason": null,
- "billingName": "Charles Attan",
- "billingOrganisationName": "Jumbo",
- "billingStreet": "Kortricklaan 101",
- "billingPostalCode": "8121 GW",
- "billingCity": "Arnhem",
- "billingCountryCode": "NL",
- "submittedAt": "2022-03-17T13:19:33+00:00",
- "shippedAt": null,
- "brandPaidAt": null,
- "createdAt": "2022-02-01T14:37:10+00:00",
- "updatedAt": "2022-03-31T15:10:07+00:00",
- "shippingMethod": "custom",
- "shippingOverview": {
- "availableShippingMethods": [
- "custom",
- "ankorstore"
], - "shipToAddress": {
- "name": "John Smith",
- "organisationName": "Test",
- "street": "Test Street",
- "city": "Commentry",
- "postalCode": "03633",
- "countryCode": "FR"
}, - "expectedShippingDates": {
- "minimum": "2022-03-22T00:00:00+00:00",
- "maximum": "2022-03-24T23:59:59+00:00"
}, - "provider": "ups",
- "tracking": {
- "number": "12345",
}, - "latestQuote": {
- "id": "5cc76f26-0f5d-1ecb-a0d6-0242ac170009",
- "provider": "custom",
- "rateAmount": {
- "amount": 1359,
- "currency": "EUR"
}, - "rateProvider": "ankorstore",
- "shippingCostsOverview": {
- "amount": 1037,
- "currency": "EUR",
- "type": "refund"
}
}, - "parcels": [
- {
- "length": 30,
- "width": 60,
- "height": 40,
- "weight": 16500,
- "distanceUnit": "cm",
- "massUnit": "g",
- "trackedPackage": null
}, - {
- "length": 30,
- "width": 60,
- "height": 40,
- "weight": 20000,
- "distanceUnit": "cm",
- "massUnit": "g",
- "trackedPackage": null
}
], - "transaction": null
}
}
}
}Use this endpoint for scheduling a pickup for the order
| order required |
| include | string |
| Accept | string Default: application/vnd.api+json application/vnd.api+json |
object | |||||||
One of
| |||||||
{- "pickupDate": "07-04-2022",
- "pickupTime": "9-15",
- "pickupAddress": {
- "name": "John Doe",
- "contactName": "John Doe",
- "countryCode": "FR",
- "city": "Rennes",
- "postalCode": "35000",
- "street": "1 rue des lilas",
- "phoneNumber": "+33700000000"
}
}{- "jsonapi": {
- "version": "1.0"
}, - "data": {
- "type": "order",
- "id": "1ecb023e-7ec0-6d5c-a477-0242ac170007",
- "attributes": {
- "status": "shipped",
- "reference": 3434273911,
- "brandCurrency": "EUR",
- "brandTotalAmount": 12588,
- "brandTotalAmountVat": 693,
- "brandTotalAmountWithVat": 13281,
- "shippingMethod": "ankorstore",
- "shippingOverview": {
- "availableShippingMethods": [
- "custom",
- "ankorstore"
], - "shipToAddress": {
- "name": "John Smith",
- "organisationName": "Test Retailer",
- "street": "Test Street",
- "city": "Roma",
- "postalCode": "00222",
- "countryCode": "IT"
}, - "expectedShippingDates": {
- "minimum": "2022-03-28T00:00:00+00:00",
- "maximum": "2022-03-30T23:59:59+00:00"
}, - "provider": "ups",
- "tracking": null,
- "latestQuote": {
- "id": "5cc76f26-0f5d-1ecb-a0d6-0242ac170009",
- "provider": "ups"
}, - "parcels": [
- {
- "length": 50,
- "width": 100,
- "height": 50,
- "weight": 10000,
- "distanceUnit": "cm",
- "massUnit": "g",
- "trackedPackage": {
- "eta": null,
- "trackingNumber": "1Z8A76E49136380279",
- "currentStatus": {
- "status": "UNKNOWN",
- "statusDetails": null,
- "updatedAt": "2022-03-28T15:35:19+00:00",
- "location": {
- "city": null,
- "state": null,
- "zip": null,
- "country": null
}
}
}
}, - {
- "length": 75,
- "width": 50,
- "height": 50,
- "weight": 5200,
- "distanceUnit": "cm",
- "massUnit": "g",
- "trackedPackage": {
- "eta": null,
- "trackingNumber": "1Z8A76E49137225882",
- "currentStatus": {
- "status": "UNKNOWN",
- "statusDetails": null,
- "updatedAt": "2022-03-28T15:35:19+00:00",
- "location": {
- "city": null,
- "state": null,
- "zip": null,
- "country": null
}
}
}
}
], - "transaction": {
- "pickup": {
- "pickupDate": "2022-03-30T00:00:00+00:00",
- "closeTime": "15:00:00",
- "readyTime": "09:00:00",
- "externalReferenceId": "2929602E9CP"
}, - "tracking": {
- "eta": null,
- "trackingNumber": "1Z8A76E49136380279",
- "currentStatus": {
- "status": "UNKNOWN",
- "statusDetails": null,
- "updatedAt": "2022-03-28T15:35:19+00:00",
- "location": {
- "city": null,
- "state": null,
- "zip": null,
- "country": null
}
}
}
}
}, - "brandRejectReason": null,
- "retailerRejectReason": null,
- "retailerCancellationRequestReason": null,
- "billingName": "Charles Attan",
- "billingOrganisationName": "Jumbo",
- "billingStreet": "Kortricklaan 101",
- "billingPostalCode": "8121 GW",
- "billingCity": "Arnhem",
- "billingCountryCode": "NL",
- "submittedAt": "2022-02-02T20:15:05.000000Z",
- "shippedAt": "2022-02-09T15:05:27.000000Z",
- "brandPaidAt": null,
- "createdAt": "2022-02-02T19:42:31.000000Z",
- "updatedAt": "2022-03-11T08:57:56.000000Z"
}, - "relationships": {
- "retailer": {
- "data": {
- "type": "retailer",
- "id": "092b63ce-c5b9-1eca-b05f-0242ac170007"
}
}
}
}, - "included": [
- {
- "type": "retailer",
- "id": "092b63ce-c5b9-1eca-b05f-0242ac170007",
- "attributes": {
- "companyName": null,
- "storeName": "TEST RETAILER",
- "storeUrl": null,
- "email": "test-retailer@gmail.com",
- "firstName": "Marie-France",
- "lastName": "DESCHAMPS",
- "taxNumber": "819470824",
- "vatNumber": "FR58819470824",
- "eoriNumber": null,
- "phoneNumberE164": "+33688615593",
- "businessIdentifier": "819470824",
- "createdAt": "2020-06-19T11:59:30.000000Z",
- "updatedAt": "2020-06-21T15:27:39.000000Z"
}
}
]
}This API allows you to manage your product variants stock in both single- and bulk-operation mode. There are 2 opposite options available for the stock update requests - set an explicit product quantity or mark the corresponding product as "always in stock".
To set an explicit quantity for the particular product variant, you should specify the amount in the payload. In case if the target product variant was previously marked as "always in stock", this option will be disabled and the stock will be set to given value.
Example of the payload to set a product variant stock to the given value (single-operation mode):
PATCH /api/v1/product-variants/1ed18988-6651-610e-8223-aa5cd9844f96/stock
{
"data": {
"type": "productVariants",
"id": "1ed18988-6651-610e-8223-aa5cd9844f96",
"attributes": {
"stockQuantity": 123
}
}
}
More details can be found in the endpoint specification
To mark a particular product variant as "always in stock" and do not care about the stock amounts, you should include a
flag isAlwaysInStock into the request payload. In case if the target product variant had explicit stock amount set previously,
it will be reset.
Example of the payload to set a product variant stock to the given value (single-operation mode):
PATCH /api/v1/product-variants/1ed18988-6651-610e-8223-aa5cd9844f96/stock
{
"data": {
"type": "productVariants",
"id": "1ed18988-6651-610e-8223-aa5cd9844f96",
"attributes": {
"isAlwaysInStock": true
}
}
}
More details can be found in the endpoint specification
This API allows to update stocks of multiple product variants in single request. There is a specific endpoint which accepts up to 50 operations per request. Validation, business rules and payload of each operation is identical to the single-operation mode, described above.
Example of the payload to update stocks of multiple product variants in single request:
POST /api/v1/operations
{
"atomic:operations": [
{
"op": "update",
"data": {
"type": "productVariants",
"id": "1ed18988-3253-610e-8223-aa5cd9844001",
"attributes": {
"isAlwaysInStock": true
}
}
},
{
"op": "update",
"data": {
"type": "productVariants",
"id": "1ed18988-6651-610e-8223-aa5cd9844f96",
"attributes": {
"stockQuantity": 123
}
}
}
]
}
More details can be found in the endpoint specification
Update product variant stock
| productVariant required | string <uuid> |
| Accept | string Default: application/vnd.api+json application/vnd.api+json |
required | ProductVariantStockUpdateSetStockQuantity (object) or ProductVariantStockUpdateSetIsAlwaysInStockRequest (object) | ||||||||||
Any of
| |||||||||||
{- "data": {
- "type": "product-variants",
- "id": "2171bdc1-fa01-44fa-9342-d99bd1c2befa",
- "attributes": {
- "isAlwaysInStock": false,
- "stockQuantity": 20
}
}
}{- "data": {
- "type": "productVariant",
- "id": "2171bdc1-fa01-44fa-9342-d99bd1c2befa",
- "attributes": {
- "name": "Test Product Variant",
- "sku": "Product-Variant-001",
- "ian": "1924859325863",
- "createdAt": "2020-08-27T14:29:15.000000Z",
- "updatedAt": "2021-10-04T12:03:31.000000Z",
- "archivedAt": null,
- "retailPrice": 800,
- "wholesalePrice": 500,
- "originalWholesalePrice": 500,
- "availableQuantity": 125,
- "reservedQuantity": 25,
- "stockQuantity": 150,
- "isAlwaysInStock": false
}, - "relationships": {
- "product": {
- "data": {
- "type": "product",
- "id": "c8466a3c-4fb8-4474-a86f-20f10d14314f"
}
}
}
}, - "jsonapi": {
- "version": "string",
- "meta": { }
}
}Multiple operations on different resources by a single request
required | Array of objects [ 1 .. 50 ] items | ||||||||||||||||
Array ([ 1 .. 50 ] items)
| |||||||||||||||||
{- "atomic:results": [
- {
- "data": {
- "type": "productVariant",
- "id": "6b1a9a20-297c-4f26-8f00-70ece7c37ecd",
- "attributes": {
- "foo": "bar"
}
}
}
]
}When using the public sandbox, a subsection of the API will be available to create test orders.
This endpoint /api/testing/orders/create can be called to create a new test order with a new retailer, and a couple of new products.
You can also pass in options to specify the exact retailer or products themselves. To find out more, you can view the endpoint specification here.
There is an option to specify the retailerId to use the same retailer for every test order, to find this, login as that retailer you created and open up the developer tools. You will see it logged to the console.
Creates a test order ready to be confirmed based on the options provided. ONLY AVAILABLE IN SANDBOX.
| include | string |
| Accept | string application/vnd.api+json |
| Content-Type | string application/vnd.api+json |
The options that can be provided when creating a test order
| retailerId | string or null The Retailer Id | ||||
| itemQuantity | integer or null [ 1 .. 999 ] If productVariants/productOptions are not provided, then this will set the quantity each order item created. | ||||
Array of objects or null unique List of variant IDs and their quantities. Cannot be included with productOptions. | |||||
Array
| |||||
Array of objects or null unique List of option IDs and their quantities - Only use if you are currently using the old options system. Cannot be included with productVariants | |||||
Array
| |||||
{- "retailerId": "5ee4d438-0489-4634-aa60-746f485af458"
}{- "jsonapi": {
- "version": "1.0"
}, - "data": {
- "type": "order",
- "id": "1ecb023e-8ec0-6d5c-a477-0242ac170007",
- "attributes": {
- "status": "brand_confirmed",
- "reference": 3434273911,
- "brandCurrency": "EUR",
- "brandNetAmount": 10229,
- "brandTotalAmount": 10940,
- "brandTotalAmountVat": 602,
- "brandTotalAmountWithVat": 11542,
- "brandRejectReason": null,
- "retailerRejectReason": null,
- "retailerCancellationRequestReason": null,
- "billingName": "Charles Attan",
- "billingOrganisationName": "Jumbo",
- "billingStreet": "Kortricklaan 101",
- "billingPostalCode": "8121 GW",
- "billingCity": "Arnhem",
- "billingCountryCode": "NL",
- "submittedAt": "2022-03-17T13:19:33+00:00",
- "shippedAt": null,
- "brandPaidAt": null,
- "createdAt": "2022-02-01T14:37:10+00:00",
- "updatedAt": "2022-03-31T15:10:07+00:00",
- "shippingMethod": null,
- "shippingOverview": {
- "availableShippingMethods": [
- "custom",
- "ankorstore"
], - "shipToAddress": {
- "name": "John Smith",
- "organisationName": "Test",
- "street": "Test Street",
- "city": "Commentry",
- "postalCode": "03633",
- "countryCode": "FR"
}, - "expectedShippingDates": {
- "minimum": "2022-03-22T00:00:00+00:00",
- "maximum": "2022-03-24T23:59:59+00:00"
}, - "provider": null,
- "tracking": null,
- "latestQuote": null,
- "parcels": [ ],
- "transaction": null
}
}
}
}Returns configuration of the specified user
| id required | string <uuid> User ID |
| Accept | string Default: application/vnd.api+json application/vnd.api+json |
{- "data": {
- "type": "string",
- "id": "497f6eca-6276-4993-bfeb-53cbbbba6f08",
- "attributes": {
- "currency": "string",
- "country": "string",
- "browserId": "string"
}, - "required": null
}, - "jsonapi": {
- "version": "string",
- "meta": { }
}
}